понедельник, 13 декабря 2010 г.

Автоматический бекап сайта по FTP

Очередной запихиваемый в cron скриптик для бекапа содержания сайта по FTP

#!bin/sh
cd /tmp/ #меняем рабочий каталог
prefix=ftp_backup #формируем имя архива: префикс
suffix=`date +%Y%m%d` #формируем имя архива: формат даты
archname=$prefix$suffix.tar.bz2 #складываем в одно и дописываем тип архива
login=root # логин на ftp
pass=pa$$w0rd # пароль
site=mydomain.ru # имя домена
whattocopy=* # что копировать (в данном случае - всё)
wget -q -r -l 12 ftp://$login:$pass@$site/$whattocopy #создаётся папка с именем $site
tar -cjf $archname $site #данную папку мы и архивируем
rm -R $site # удаляем рабочую папку, в которую была произведена закачка
mv $archname /home/backup/ftp_site/ # помещаем архив в хранилище бекапов

P.S. количество бекапов можно проверять нижеуказанным скриптом, либо просто внедрить его сюда
P.S.S. по идее в целях экономии траффика можно не удалять рабочую папку, а просто инкрементно добавлять туда изменения, но надо смотреть, умеет ли это wget.