Пляски с cron’ом или dump каждый день

Если сильно захотеть, можно в космос полететь. Так говорит нам известная поговорка. Вот и захотелось иметь backup базы-данных MySQL ресурсов. Сказано-сделано. Начались пляски…

1. Создаем скрипт backup.sh
2. В нем записываем:

#!/usr/local/bin/bash
/usr/local/bin/mysqldump -u ЛОГИН -p ПАСС -h uXXXXX.mysql.masterhost.ru --add-drop-table uXXXXX > /home/uXXXXX/backup/animegarde.sql
gzip -c /home/uXXXXX/backup/animegarde.sql > /home/uXXXXX/backup/animegarde_`date "+%d-%m-%y"`.sql.gz
rm /home/uXXXXX/backup/animegarde.sql

mysqldump — команда для экспорта/импорта базы данных;
-u ЛОГИН -p ПАСС — логин и пароль для базы данных;
uXXXXX.mysql.masterhost.ru — hostname базы данных;
uXXXXX — часть пути, она же номер площадки;
gzip — запаковываем дамп базы данных;
animegarde_`date «+%d-%m-%y»` — название архива с датой сборки;
rm — удаляем дамп базы данных;

3. Добавляем backup.sh в Cron, удобно делать по SSH:


crontab -e

MAILTO=почта@для-ошибок.ru
30 7 * * * /usr/local/bin/bash /home/uXXXXX/backup.sh

Вот, собственно и все. Скрипт выполняется каждый день в 7:30 утра, делая дамп базы данных и запаковывая аккуратненько результат.

P.S.: Пример рабочий. В принципе довольно универсально, желательно иметь права на запуск sh-скриптов и доступ к cron’у, также стоит уточнить при использовании пути к скриптам и к bash (команда в SSH — locate bash). Уточню на всякий случай, выбор хостинг-компании все-таки остановил .masterhost.

Добавить комментарий