Использование mysqldump и crontab в Ubuntu

Итак, мне понадобилось делать бекап моей базы данных на сервере по следующему расписанию:

  • Раз в час;
  • Раз в сутки;
  • Раз в неделю;


Быстрая пробежка по страницам поисковика показала, что в рунете особо-то и информации по этому поводу нет, решил сделать небольшую запись на этот счет, дабы люди пользовались
Для начала определимся с форматом записи заданий в 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 — место куда будет делаться дамп, знак > обязателен.
Вот в кратце и все.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.