Дата: 2012-04-21

Автор: Newbilius

Меня интересовал исключительно бэкап файлов и баз сайтов, без сохранения настроек веб сервера. В результате был написан такой вот скрипт, раз в сутки делающий дамп всех баз, запаковывающий их и все файлы в архив, после чего отправляющий его на мой домашний FTP. Скрипт очень простенький, уверен, его можно улучшить и сделать более универсальным, но по крайней мере, как работающий пример он сойдёт. Итак, исходный код скрипта:

#!/bin/sh
cd /www/

#запоминаем текущую дату
NOW=`date +%Y.%m.%d`

#получаем список баз в файл sql_bases.txt
mysql -uЛОГИН -pПАРОЛЬ -e"show databases" | grep -v information_schema | grep -v Database | grep -v mysql > sql_bases.txt

#дампим  базы
for d in `cat sql_bases.txt`; do /usr/local/bin/mysqldump --user=ЛОГИН --host=localhost --quote-names -acnqQ --single-transaction --default-character-set=cp1251 --password=ПАРОЛЬ -- $d > "$d.sql";done

#запаковываем файлы в архив
tar czf $NOW.tar.gz --format=ustar --exclude=sql_backuo.sh --exclude=resize_cache --exclude=sql_bases.txt *

FTPD="ПАПКА ВНУТРИ КОРНЕВОЙ FTP"
FTPU="ЛОГИН"
FTPP="ПАРОЛЬ"
FTPS="АДРЕС FTP СЕРВЕРА"

/usr/bin/ftp -n $FTPS quote PASS $FTPP
prompt off
cd $FTPD
binary
mput $NOW.tar.gz
quit
END_SCRIPT

# удаляем остатки
rm -rf $NOW.tar.gz
rm -rf sql_bases.txt
rm -rf *.sql

P.S. Полезняшки - команды для установки нехватающих утилит:

yum install -y vixie-cron
/etc/init.d/crond start

yum install ftp


Поделиться ссылкой:
Facebook Twitter ВКонтакте
Тэги:  бэкап домашний сервер разработка сайтов

Комментарии (1 шт.)
[2013-09-08] sergeylukin
"Бэкапим веб-сервер на FreeBSD../etc/init.d/crond start..yum install ftp"
..так freebsd или redhat? определись:)


© Дмитрий Newbilius (программист)
и Дмитрий Hule (админ)
2010-2024 г.