Планувальник

Вступ

Cron — це утиліта для планування завдань на Unix-подібних операційних системах. Вона дозволяє автоматизувати виконання команд чи скриптів у заданий час або за визначеним розкладом. В цій лекції ми розглянемо основи роботи з cron, його синтаксис, приклади використання та практичні поради.

Cron

Основи роботи з cron

1. Файл crontab

Файл crontab містить список завдань, які повинні виконуватись за розкладом. Кожен користувач має свій власний crontab-файл.

  • Щоб відредагувати crontab-файл вашого користувача, виконайте команду:

    crontab -e
    
  • Щоб переглянути поточний crontab для користувача, використовуйте:

    crontab -l
    
  • Щоб видалити crontab для користувача, виконайте:

    crontab -r
    

2. Синтаксис crontab

Файл crontab складається з рядків, які представляють собою розклад і команду для виконання. Формат кожного рядка має вигляд:

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

Де кожна з п'яти зірочок відповідає конкретному параметру часу:

  • Перша зірочка: хвилини (0-59)
  • Друга зірочка: години (0-23)
  • Третя зірочка: день місяця (1-31)
  • Четверта зірочка: місяць (1-12)
  • П’ята зірочка: день тижня (0-7, де 0 і 7 представляють неділю)

Декілька прикладів:

  • 0 5 * * * - запускає завдання щодня о 5:00 ранку.
  • */15 * * * * - запускає завдання кожні 15 хвилин.
  • 0 0 1 * * - запускає завдання в перший день кожного місяця опівночі.

[!tip] crontab.guru Якщо вам не дуже зручно запамятовувати порядок параметрів які треба писати, ви можете скористатися сервісом crontab.guru на якому ви зможете просто відлаготити вираз для формуваня розкладу запуску команди.

3. Коментарі у crontab

Ви можете додавати коментарі до вашого crontab-файлу, використовуючи символ # на початку рядка.

  # Це коментар

4. Середовище виконання

Команди у crontab файлі виконуються у середовищі користувача, під яким вони були створені. Важливо пам'ятати про встановлення повних шляхів до команд та файлів.

Приклади використання

  1. Запуск скрипту кожного дня опівночі:

    0 0 * * * /home/username/scripts/backup.sh
    
  2. Видалення тимчасових файлів кожного тижня в неділю о 3:30 ранку:

    30 3 * * 0 /bin/rm -rf /tmp/*
    
  3. Відправлення звітів кожного першого дня місяця:

    0 8 1 * * /home/username/scripts/send_report.sh
    

Корисні поради

  1. Перевірка журналів: Для діагностики проблем використовуйте:

    grep CRON /var/log/syslog
    
  2. Налаштування змінних середовища: Якщо ваші команди залежать від певних змінних середовища, додайте їх на початку crontab-файлу:

    PATH=/usr/local/bin:/usr/bin:/bin
    
  3. Відлагодження: Для зручності відлагодження переадресуйте вивід команд до файлу:

    0 0 * * * /home/username/scripts/myscript.sh >> /home/username/logs/myscript.log 2>&1
    

Висновок

Cron — це потужний інструмент для автоматизації завдань у Unix-подібних системах. Знання його основ і правильне застосування допоможуть вам ефективніше управляти вашими щоденними завданнями та системною

results matching ""

    No results matching ""