Замучался каждый день вручную через cpanel забирать бэкапы с хостинга, решил как то упростить это муторное занятие. Набросал несколько строк скрипта, может будет кому нибудь полезен
В самом скрипте достаточно все разжовано, так что лишних комментариев не будет
#!/bin/sh #дата бекапа, далее будет подставляться в имя директории бекапа $date date=`date "+%Y_%m_%d"`; #вот тут идет извращение с датой, т.к. нам предстоит забирать бекапы которые будут содержать, число, месяц, год бекапа, пример (backup-1-2-2009.tar.gz) #!подсказал xeen! долго решал вопрос с гребанным 0 в дате или месяце, но все таки нашел решение sed 's/^[ ]*//'` - вырезает пробел в начале строки, #sed 's/^[0]*//'` - вырезает 0 (сцуко) вначале строки d=`date "+%e" | sed 's/^[ ]*//'`; m=`date "+%m" | sed 's/^[0]*//'`; y=`date "+%Y"`; echo "-=BackUp script starting [$date]=-"; #создаем директории для резервирования копий mkdir /data/Files/backup/hosting_backup/$date sync #переходим в нужную директорию #гы-гы, по другому я хз как это делается... if cd /data/Files/backup/hosting_backup/$date ; then : fi sync #теперь мы заюзаем wget #Обратите внимание, файлы будут забираться через HTTP SSL с cpanel, пишем команду --no-check-certificate (не проверять подлинность сертификата) #далее идет авторизация через (!)HTTP #так же следует обратить внимание на пароль, в моем случае в пароле содержатся спецсимволы, например (_-#;!&?), мы заключим их в \\ #т.е. это будет выглядеть примерно так --http-password=pass\;\word #тут тоже изврат, как это сделать проще я не знаю, -i указываем файл с нужными нам урл'ами #--wait указываем сколько секунд ждать после загрузки файла (полезно если сервер настроен на ограниченное кол-во скачиваний с одного ip адреса) wget -i /data/Files/backup/hosting_backup/urls.txt --wait=10 --no-check-certificate --http-user=логин --http-password=пароль https://site.ru:порт/getbackup/backup-site.ru-$m-$d-$y.tar.gz sync sleep 1 echo "-=BackUp script stopping [$date]=-"; exit 0
содержимое файла urls.txt
https://site.ru:порт/getsqlbackup/forum.sql.gz https://site.ru:порт/getsqlbackup/site.sql.gz https://site.ru:порт/getsqlbackup/wiki.sql.gz https://site.ru:порт/getaliasbackup/aliases-site.ru.gz https://site.ru:порт/getaliasbackup/aliases-wiki.site.ru.gz https://site.ru:порт/getaliasbackup/aliases-forum.site.ru.gz https://site.ru:порт/getfilterbackup/filter-site.ru.gz https://site.ru:порт/getfilterbackup/filter-wiki.site.ru.gz https://site.ru:порт/getfilterbackup/filter-forum.site.ru.gz
P.S Первый вариант скрипта был неудачным, после выполнения которого мне пришлось общаться с технической поддержкой насчет разбана меня на сервере
Скрипт немного заморочен на мой взгляд, может кто то подскажет как можно сделать иначе...
Хороший скрипт =)
- Войдите на сайт для отправки комментариев
- cсылка
⏏Макси, так тебя из за этого скрипта забанили?
- Войдите на сайт для отправки комментариев
- cсылка
⏏да
- Войдите на сайт для отправки комментариев
- cсылка
⏏