Настройка cron (заданий по расписанию) на VDSina
Дата публикации: 18.05.2026

Настройка cron (заданий по расписанию) на VDSina

Хочу себе такие же кнопки
ccb9a536

Настройка cron (заданий по расписанию) на VDSina

Что вы получите:

  • Понимание, как работает планировщик cron и зачем он нужен в реальном сервере.
  • Умение создавать, редактировать и проверять расписания задач без ошибок.
  • Навык отладки и мониторинга выполненных заданий, чтобы ваш сервис работал без сбоев.

1. Почему cron – ваш лучший помощник

Представьте, что сервер — это офисный работник, а cron — его личный секретарь. Секретарь записывает в календарь, когда нужно выполнить важные дела: отправить отчёт, очистить временные файлы, проверить обновления. Вы просто задаёте правила, а cron делает всё автоматически, даже когда вы спите.

На 🏰 VDSina (виртуальный выделенный сервер) cron уже установлен в большинстве образов Linux (Ubuntu, Debian, CentOS). Вам остаётся лишь сконфигурировать расписание под свои задачи.


2. Основные понятия

Термин Описание Пример
cron Демон‑служба, которая каждый минуту проверяет таблицу crontab и запускает нужные команды. cron запускает скрипт backup.sh каждый день в 02:00.
crontab Таблица расписаний, в которой каждая строка — отдельное задание. 0 2 * * * /home/user/backup.sh
минута, час, день месяца, месяц, день недели Пять полей, определяющих, когда запускать задание. 30 14 * * 1-5 → каждый будний день в 14:30.
специальные строки @reboot, @yearly, @monthly, @weekly, @daily, @hourly. @reboot /usr/bin/python3 /home/user/start.py

Все поля могут принимать звёздочку (*) — «любое значение», а также список, диапазон и шаг (*/5).


3. Как открыть свой crontab

crontab -e
  • При первом запуске система предложит выбрать редактор (vim, nano, etc.). Выбирайте тот, с которым вам удобно.
  • Файл открывается с комментариями‑подсказками. Не удаляйте их, пока не разберётесь.

Важно: каждый пользователь имеет свой отдельный crontab. На 🏰 VDSina вы, скорее всего, работаете под пользователем root или обычным user. Если хотите отредактировать crontab другого пользователя, используйте crontab -e -u username (только от root).


4. Синтаксис строки задания

* * * * *   команда_для_выполнения   # комментарий
│ │ │ │ │
│ │ │ │ └─ День недели (0‑7) (воскресенье = 0 или 7)
│ │ │ └───── Месяц (1‑12)
│ │ └─────── День месяца (1‑31)
│ └───────── Час (0‑23)
└─────────── Минута (0‑59)

Примеры:

Строка Что делает
0 3 * * * /usr/local/bin/clean_tmp.sh Каждый день в 03:00 запускает скрипт очистки /tmp.
*/15 * * * * /usr/bin/php /var/www/site/artisan schedule:run >> /dev/null 2>&1 Каждые 15 минут запускает Laravel‑scheduler.
30 22 * * 1 /home/user/weekly_report.sh По понедельникам в 22:30 отправляет отчёт.
@reboot /usr/bin/python3 /home/user/start_server.py При старте сервера сразу запускает Python‑приложение.

5. Практические нюансы на VDSina

5.1. Путь к исполняемому файлу

VDSina использует minimal‑install образ, где переменные окружения могут отличаться от вашего пользовательского ~/.bashrc. Чтобы гарантировать, что команда найдёт нужный исполняемый файл, указывайте полный путь:

* * * * * /usr/bin/python3 /home/user/scripts/task.py >> /home/user/logs/task.log 2>&1

5.2. Перенаправление вывода

  • >> /path/to/log.log — добавлять вывод в файл.
  • 2>&1 — перенаправлять ошибки в тот же файл.

Если вы не хотите, чтобы cron отправлял письма с выводом, отправляйте всё в /dev/null:

0 0 * * * /usr/bin/apt-get update >> /dev/null 2>&1

5.3. Переменные окружения

В начале crontab можно задать переменные, которые будут доступны всем заданиям:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAILTO=you@example.com   # куда отправлять письма с выводом

5.4. Проверка синтаксиса

После сохранения файла cron автоматически проверит синтаксис. Если будет ошибка, вы увидите сообщение в терминале. Чтобы проверить вручную, используйте:

crontab -l   # вывести текущие задания

5.5. Логи cron

По умолчанию в Ubuntu/Debian логи находятся в /var/log/syslog. Фильтруйте их:

grep CRON /var/log/syslog

В CentOS/AlmaLinux в /var/log/cron.


6. Пример полного crontab для типичного проекта на VDSina

# ------------------------------
# Пользователь: root
# Описание: задачи проекта "MySite"
# ------------------------------

# Путь к исполняемым файлам
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAILTO=admin@mysite.com

# 1. Ежедневный бэкап базы данных в 02:30
30 2 * * * /usr/bin/mysqldump -u dbuser -p'StrongPass' mydb > /var/backups/db_$(date +\%F).sql 2>> /var/log/cron_errors.log

# 2. Очистка временных файлов каждые 6 часов
0 */6 * * * /usr/local/bin/clean_tmp.sh >> /var/log/clean_tmp.log 2>&1

# 3. Запуск Laravel‑scheduler каждую минуту
* * * * * /usr/bin/php /var/www/mysite/artisan schedule:run >> /dev/null 2>&1

# 4. Перезапуск nginx после перезагрузки сервера
@reboot /usr/sbin/service nginx restart >> /var/log/nginx_restart.log 2>&1

Совет: храните скрипты в отдельной директории, например /home/youruser/scripts/, и делайте их исполняемыми (chmod +x script.sh).


7. Отладка и мониторинг

  1. Проверка статуса службы

    systemctl status cron      # Ubuntu/Debian
    systemctl status crond     # CentOS/AlmaLinux
  2. Тестовый запуск

    Если нужно убедиться, что скрипт работает, запустите его вручную:

    /usr/local/bin/clean_tmp.sh
  3. Логи

    • Ошибки cron → /var/log/syslog (Ubuntu) или /var/log/cron (CentOS).
    • Вывод скриптов → файлы, указанные в >>.
  4. Отправка почты

    Если вы задали MAILTO, cron будет отправлять письмо с выводом. Убедитесь, что на 🏰 VDSina установлен MTA (например, postfix).


8. Часто задаваемые вопросы

Вопрос Ответ
cron не запускает скрипт Проверьте, что скрипт имеет права +x и указаны полные пути.
Получаю письма с ошибкой “Permission denied” Скрипт пытается писать в директорию, к которой у пользователя нет прав. Используйте chmod или chown.
Как задать задание только в будние дни? * * * * 1-5 command – дни недели от 1 (понедельник) до 5 (пятница).
Нужен ли перезапуск cron после изменения crontab? Нет, cron автоматически перечитывает файл после сохранения.
Можно ли задать несколько команд в одной строке? Да, разделяйте их && (последовательно) или ; (независимо). Пример: 0 0 * * * cd /var/www && git pull && php artisan migrate.

9. Полезные ресурсы


Практика для закрепления

  1. Создайте задание, которое будет каждый день в 04:15 удалять файлы старше 7 дней из каталога /var/www/tmp.
    Подсказка: используйте find /var/www/tmp -type f -mtime +7 -delete.

  2. Настройте тестовый cron, который каждые 2 минуты будет писать текущую дату и время в файл /home/you/cron_test.log. Проверьте, что запись происходит.

  3. Сделайте резервную копию базы MySQL каждый понедельник в 01:00, сохраняйте файл в /backups/mysql/ с датой в имени. Убедитесь, что пароль не хранится в открытом виде в crontab (подумайте о файле .my.cnf).

  4. Отладка: ваш скрипт script.sh пишет ошибку «command not found», когда его запускает cron, но работает вручную. Что проверить?

  5. Эксперимент: используйте специальную строку @reboot для запуска скрипта start_services.sh после каждой перезагрузки сервера. Как проверить, что он выполнен?


Поздравляем! Вы теперь умеете полностью управлять планировщиком cron на VDSina, автоматизировать рутинные операции и поддерживать сервер в стабильном состоянии. Не бойтесь экспериментировать – каждый новый скрипт делает ваш сервис более надёжным и гибким. Удачной автоматизации!


Английский видеочат для путешествий
CamZamZam - онлайн фото с вебкамеры с эффектами
Чат рулетка 2026: Интерактивные элементы
Чат-рулетка: случайный собеседник в одно нажатие
Чат рулетка в 2026: будущие функции
Интерьер с использованием текстиля
Как настроить бэкапы для вашего сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как обновить PHP на хостинге Host.bg
Как решить проблемы с загрузкой сайта на Host.bg
Какие бывают ЛОР болезни у детей
Калькулятор зарплаты SEO-оптимизатора
Кассовые терминалы с оплатой картами
Монетизация через платные услуги
Мск: ИП или ООО — лучший старт для бизнеса?
Общение в интернете без риска
Общение вживую через экран
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Ошибки при настройке хостинга и их решения
Проблемы с доменами и их решения на хостинге Host.bg
Сколько стоит биткоин
Сравнение ценовых диапазонов хостинга Host.bg
Сумки с бусинами
Техника для строительства загородных трасс
Трубная продукция для трубопроводных конструкций
Узбекские фильмы фэнтези
Видео рулетка 18+
Видеочат с случайным собеседником онлайн
Видеообщения по всему миру
рейтинг хостингов 2026 Быстрые VDS серверы