Итак, мне понадобилось делать бекап моей базы данных на сервере по следующему расписанию:
- Раз в час;
- Раз в сутки;
- Раз в неделю;
Быстрая пробежка по страницам поисковика показала, что в рунете особо-то и информации по этому поводу нет, решил сделать небольшую запись на этот счет, дабы люди пользовались
Для начала определимся с форматом записи заданий в cron, сами задания заносятся в файл crontab у каждого пользователя он свой, чтобы запустить от имени определенного пользователя в терминале выполняем следующее
sudo crontab -e -u user
Вместо user подставляем имя пользователя от которого будет выполнятся задание.
Данные в crontab заносятся в следующем виде:
* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)
Приступим к занесению данных в crontab, пишем:
#В качестве интерпретатора используем /bin/sh
SHELL=/bin/sh
0 */1 * * * /usr/bin/mysqldump database -u user -p password >/mnt/bcp/hourly_dump.sql
#/1 обозначает что дамп будет выполнятся каждый час.
0 0 * * * /usr/bin/mysqldump database -u user -p password >/mnt/bcp/daily_dump.sql
0 0 * * 7 /usr/bin/mysqldump database -u user -p password >/mnt/bcp/weekly_dump.sql
user — имя пользователся MySQL
password — пароль пользователя MySQL
>/mnt/bcp/hourly_dump.sql — место куда будет делаться дамп, знак > обязателен.
Вот в кратце и все.