Данная статья поможет настроить планировщик задач таким образом, чтобы он создавал резервные копии баз данных и данных Вашего VPS для сайтов. Рассмотрим пример записи:
Cron
В Linux периодическим выполнением управляет демон cron. Он запускается на этапе начальной загрузки системы и выполняется в фоновом режиме до тех пор, пока система не будет выключена. Cron читает файлы конфигурации, содержащие списки команд и расписание их вызова. Команды обычно обрабатываются интерпретатором sh (системной консолью Linux), поэтому почти все команды, которые можно выполнять в консоли вручную, можно перепоручить демону cron.
Файлами конфигурации демона управляет команда crontab, поэтому их называют crontab-файлами. В системе существует множество crontab-фалов, однако мы будем вносить изменения в /etc/crontab. Обратите внимание, что в дистрибутивах CentOS и Fedora демон cron переименован в crond.
Каждая строка crontab-файла, не являющаяся комментарием содержит шесть или семь полей и представляет одну команду. Стандартная строка имеет вид:
- минута час день месяц день_недели [имя_пользователя] команда
Поле имя_пользователя определяет пользователя, от имени которого будет выполняться команда. В полях минута час день месяц день_недели содержится информация о времени запуска команды. Описание данных полей приведено в таблице ниже:
Поле | Описание | Диапазон |
---|---|---|
минута | Минута часа | От 0 до 59 |
час | Час дня | От 0 до 23 |
день | День месяца | От 1 до 31 |
месяц | Месяц года | От 1 до 12 |
день_недели | День недели | От 0 до 6 (0 – воскресенье) |
Каждое из полей может содержать:
- звездочку, которая обозначает любую цифру;
- целое число;
- два разделенных дефисом целых числа, задающих диапазон значений;
- целые числа или диапазоны, разделенные запятыми (время соответствует любому из значений).
Например, последовательность 0,3,6,9,12,15,18 можно записать как 0-18/3. Строка 45 10 * * 1-5 означает “В 10 часов 45 минут, с понедельника по пятницу”.
(!) Никогда не ставьте звездочку в первое поле, иначе команда будет выполняться каждую минуту, что приведет к чрезмерной нагрузке на ВПС.
С полями день_недели и день связана двусмысленность, которую необходимо учитывать. День можно рассматривать как день недели, так и как число месяца. Если указаны оба поля, то дню необходимо соответствовать одному из этих условий, что бы пройти отбор и запустить выполнение задачи. К примеру, спецификация 0,30 * 13 * 5 означает “каждые полчаса по пятницам и каждые полчаса тринадцатого числа месяца”, но не “каждые полчаса в пятницу 13-го”.
Инструкции настройки cron для создания бекапов тем или иным способом Вы можете найти по ссылкам ниже.