Главная > Программы > База данных > MySQL Ежесуточный бекап MySQL
В связи с грядущим переносом блога live.daemony.org на другой сервер, вспомнилась маленькая мелочь: суточный бекап всех баз данных, лежащих на сервере MySQL на локальной машине. Для достижения цели используются: оболочка shell, утилита mysqldump и планировщик заданий cron. Пишем коротенький скриптик: #!/bin/sh USERNAME="root" PASSWORD="blablabla" WDIR="/System_Backup/mysql" for base in db1 db2 db3 db4 db5 dbn do `/bin/mkdir -p $WDIR/$base` `/bin/chmod 700 $WDIR/$base/` `/usr/local/bin/mysqldump -u $USERNAME -p$PASSWORD -B $base > $WDIR/$base/backup_$base.sql` `/usr/bin/gzip -cf9 $WDIR/$base/backup_$base.sql > $WDIR/$base/$base'_'$(date +%Y-%m-%d).gz` `/bin/rm $WDIR/$base/*.sql` `/bin/chmod -R o-rwx $WDIR` done - где:
Скрипт создает директорию для бекапа, далее выгребает бекап соответствующей базы, сжимает его с помощью gzip и устанавливает соответсвующие права доступа на сжатый бекап. Ничего сложного. Далее скрипт попросту гоняется кроном раз в сутки: 30 02 * * * root /root/scripts/mysql-backup.sh Вот собственно и все. Материал взят с сайта: http://live.daemony.orgПростейший скрипт бекапа сайтов и баз MySQLПотребовалось сделать простой скрипт для бекапа всех баз данный MySQL и файлов сайтов на сервере. Пусть сайты хранятся в папке SITES_DIR, бекапы будем хранить в папке BACKUP_PATH, создан пользователь в MYSQL для бекапов MYSQL_USER с паролем MYSQL_PASS. Дамп всех баз данных будем хранить одним файлом, а каждый сайт запакуем в отдельный архив. Резервные копии будем делать каждый день и хранить 5 дней.
Главная > Программы > База данных > MySQL |