Cron позволяет запускать задания в определённое время. Например, можно настроить создание резервных копий в полночь. Пользоваться им очень легко. Для этого есть специальная команда crontab. Она позволяет редактировать файлы настроек cron. Пример вызова:
1 |
crontab -u <username> -e |
Здесь <username> — это пользователь, от имени которого должна запускаться команда. Если нужно редактировать конфигурационный файл cron текущего пользователя то:
1 |
crontab -e |
Откроется шаблон файла cron. Там будет написано много комментариев. Их лучше прочитать. Для добавления задания нужно добавить в конец файла строку вида:
1 |
0 0 * * * pg_dump databasename > "/home/postgres/databasename_dump_$(date +"\%Y\%m\%d\%H\%M\%S").sql" |
Указанный выше пример будет создавать резервную копию базы данных PostgreSQL databasename и сохранять её в /home/postgres/databasename_dump_ГГГГММДДЧЧммсс.sql, где Г — год, М — месяч, Ч — час, м — минуты, с — секунды. Создание резервной копии будет происходить в полночь (первые два нуля). Обратите внимание, что символы % экранированы.
То есть общий формат строки:
1 |
m h d M dw <command> |
Где:
m — минуты (0-59)
h — час (0-23)
d — день месяца (1-31)
M — месяц (1-12)
dw — день недели (0-7). Причём воскресенье — это 0 или 7, а понедельник — 1.
Пример запуска задачи каждые пять минут:
1 |
*/5 * * * * echo "Прошло пять минут" |
В начало файла конфигурации рекомендуется добавить строки:
1 2 |
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
Также нужно иметь в виду, что % — это зарезервированный символ. И при вводе в конфигурационном файле его нужно экранировать.