Как настроить Crontab на виртуальном сервере?

Время чтения: 4 мин. Обновлено: 3 июня 2026

Арендуйте VPS

Если у вас еще нет виртуального сервера, то ищите подходящего провайдера в нашем рейтинге VPS серверов.

Перейти

Если вы используете VPS/VDS сервер, рано или поздно появится задача что-то запускать автоматически: бэкап сайта, обновление CMS, очистку логов или перезапуск сервиса.

Для этого на виртуальном сервере используется команда crontab. В этой статье разберём всё простыми словами — без сложных терминов.

Что такое crontab на VPS?

crontab — это встроенный планировщик задач в Linux. Он позволяет настроить автоматический запуск команд по расписанию на вашем виртуальном сервере.

Вы один раз настраиваете правило — сервер всё делает сам.

Как открыть crontab на виртуальном сервере?

Подключитесь к VPS по SSH и выполните команду:

crontab -e

Так выглядит файл при открытии команды:

Данная команда запускает текстовый редактор по умолчанию и часто это vi или vim непривычный для начинающий пользователей, гораздо удобнее использовать например nano. Чтобы это сделать надо его установить, если не установлен и перед командой crontab -e, выполнить:

export EDITOR="nano"

Как устроена запись в crontab?

Каждая строка в crontab состоит из времени запуска и команды.

Выглядит это так:

* * * * * команда

Перед командой стоят пять параметров времени. Они идут строго по порядку слева направо: минута, час, число, месяц, день недели.

Вот что означает каждое поле:

  • Первая позиция — минута (0–59)
    В какую минуту выполнять команду.
    Например, 0 — ровно в начале часа, 30 — в 30 минут, * — каждую минуту.
  • Вторая позиция — час (0–23)
    В какой час запускать.
    Например,3 — в 3 часа ночи, 15 — в 15:00, * — каждый час.
  • Третья позиция — день месяца (1–31)
    В какое число месяца запускать.
    Например, 1 — первого числа, 15 — пятнадцатого, * — каждый день.
  • Четвёртая позиция — месяц (1–12)
    В каком месяце выполнять задачу.
    Например, 1 — январь, 12 — декабрь, * — каждый месяц.
  • Пятая позиция — день недели (0–7)
    В какой день недели запускать.
    Например, 0 или 7 — воскресенье, 1 — понедельник, 2 — вторник и так далее, * — в любой день недели.

После этих пяти значений указывается сама команда, которую нужно выполнить.

Например:

0 3 * * * /home/user/script.sh

Это означает запускать файл script.sh каждый день в 03:00.

Главное запомнить простое правило: если стоит * — значит «в любое время в этом поле». Если стоит число — значит строго в указанное время.

Примеры настроек crontab для VPS

Запуск каждый день в 03:00:

0 3 * * * /home/user/script.sh

Запуск каждые 5 минут:

*/5 * * * * /home/user/script.sh

Запуск раз в неделю:

0 2 * * 0 /home/user/script.sh

Частые задачи для VPS/VDS

Резервная копия сайта:

0 2 * * * tar -czf /backup/site.tar.gz /var/www

Бэкап базы данных:

0 3 * * * mysqldump -u root -pPASSWORD dbname > /backup/db.sql

Перезапуск nginx:

0 4 * * * systemctl restart nginx

Очистка временных файлов:

0 1 * * * rm -rf /tmp/*

Как посмотреть задания на VPS?

crontab -l

Расположение файлов для разных версий операционных систем:

  • Mac OS X – /usr/lib/cron/tabs/ (user cron location /usr/lib/cron/tabs/vivek)
  • CentOS/Fedora/Scientific Linux – /var/spool/cron/ (user cron location /var/spool/cron/vivek)
  • Debian / Ubuntu Linux – /var/spool/cron/crontabs/ (user cron location /var/spool/cron/crontabs/vivek)

Как удалить задания?

Выполните команду:

crontab -r

Как комментировать строки в crontab?

Чтобы временно отключить задачу, не удаляя её, используйте знак # в начале строки.

Пример:

# 0 3 * * * /home/user/script.sh

Такая строка выполняться не будет.

Также можно добавлять пояснения:

# Бэкап сайта каждый день
0 2 * * * tar -czf /backup/site.tar.gz /var/www

Как запустить службу cron на VPS?

Для Ubuntu/Debian:

systemctl start cron
systemctl enable cron
systemctl status cron

Для CentOS/AlmaLinux:

systemctl start crond
systemctl enable crond
systemctl status crond

Как остановить службу cron?

Для Ubuntu/Debian:

systemctl stop cron
systemctl disable cron

Для CentOS/AlmaLinux:

systemctl stop crond
systemctl disable crond

Вывод

crontab — обязательный инструмент для любого VPS/VDS. С его помощью можно автоматизировать почти любую задачу на виртуальном сервере.

Комментарии ()

    Популярные статьи