crontab

Як налаштувати завдання Cron у Linux

Як налаштувати завдання Cron у Linux
Автоматизація та планування повторних завдань на настільних комп’ютерах та серверах покращує продуктивність та скорочує ручне втручання та моніторинг. Для Linux доступні численні такі інструменти, і одним з найбільш широко використовуваних серед них є "cron".

У цій статті буде пояснено завдання планування та запуск сценаріїв через рівні проміжки часу із використанням завдань cron.

Що таке Крон?

Cron - це програма планування завдань, яка працює у фоновому режимі як процес. Він може використовуватися для періодичного запуску певних завдань, запланованих за допомогою попередньо визначеного набору правил. Cron поставляється попередньо встановленим на більшості дистрибутивів Linux або доступним у сховищах для встановлення вручну.

Cron Presets

Cron на Ubuntu постачається з набором заздалегідь визначених планувальників. Ви можете перевірити їх, виконавши команду нижче:

$ ls / etc / cron.*

Зазвичай ці папки є “/ etc / cron.погодинно ”,“ / etc / cron.щодня ”,“ / etc / cron.щомісяця ”та“ / etc / cron.щотижня ”.

Просто помістіть потрібні сценарії в одну з цих папок, щоб запускати автоматизовані завдання щогодини, щодня, щомісяця або щотижня.

Зверніть увагу, що cron використовує оболонку “/ bin / sh” за замовчуванням. Якщо ви хочете використовувати “/ bin / bash” як оболонку в скриптах cron, вам слід використовувати “!# / bin / bash ”hashbang у верхній частині файлу сценарію або визначте оболонку як змінну“ SHELL = / bin / bash ”у першому рядку запланованого сценарію bash. Перевизначення змінної середовища “SHELL” також працює для редактора crontab, про який пояснено нижче.

Не всі змінні системного середовища можуть бути піддані роботі cron. Тож загалом є гарною ідеєю вручну визначати важливі змінні середовища у сценарії, запланованому cron.

Кронтаб

Crontab дозволяє визначити власні заплановані завдання. Ви можете використовувати його для налаштування розкладів cron, відмінних від чотирьох стандартних пресетів cron, описаних вище.

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

$ crontab -e

Тепер у кінці файлу ви можете додати запис у наступному форматі:

хвилина година день місяць будень / повний / шлях / до / сценарію.ш

Де:

Введений нижче запис crontab зробить знімок екрану робочого столу і збереже його у вашому домашньому каталозі один раз о 15:13 2 березня плюс кожен вівторок березня о 15:13 год.

13 15 2 3 2 мошонка

Щоб перерахувати всі записи crontab, використовуйте команду нижче:

$ crontab -l

Більше прикладів

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

Окрім п’яти змінних планування, cron також використовує спеціальний рядок для планування завдань. Ці рядки:

Наведений нижче запис crontab робить скріншот один раз при кожному перезавантаженні:

@reboot scrot

Ви можете замінити “@reboot” будь-якими іншими спеціальними рядками, згаданими вище.

Використання зірочки або символу підстановки замість будь-якої з п’яти змінних повторить завдання для всіх нових примірників цієї змінної. Запис нижче буде робити знімок екрана щохвилини:

* * * * * Прокрутка

Щогодини:

0 * * * * прокрутка

Щодня о 18:00:

0 18 * * * прокрутка

Щомісяця 6-го о 18:00:

0 18 6 * * скрот

Використовуйте “/” для запуску сценарію з фіксованим періодичним інтервалом у 30 хвилин (виконується кожні 30 хвилин):

* / 30 * * * * прокрутка

Ви можете використовувати змінні, розділені комами, щоб визначити повторюване виконання сценарію через рівні проміжки часу. У наведеному нижче прикладі буде зроблений знімок екрану робочого столу кожної 1-ї, 4-ї та 5-ї хвилини нової години.

1,4,5 * * * * мошонка

Перевірка записів Crontab

Визначення записів crontab може бути складним, але налагоджувати їх або перевіряти, чи вони працюють у правильних позначках часу, ще складніше. Одним із варіантів є використання віртуальної машини та реєстрація часових позначок сценарію, що періодично запускається на завданні cron, включаючи щось на зразок команди “date” та перенаправляючи висновок у текстовий файл. Однак кращим рішенням є використання однієї з численних Інтернет-служб тестування вакансій, доступних в Інтернеті. Я рекомендую надати веб-сайт cron tester тут спробувати.

Висновок

Запуск завдань cron - це чудовий спосіб автоматизувати повторювані завдання, особливо на серверах. Інструмент надзвичайно потужний і настроюється. Однак важливо переконатися, що визначення планувальника працює правильно, особливо якщо є критично важливі завдання.

Кращі програми для картографування геймпадів для Linux
Якщо ви любите грати в ігри на Linux із геймпадом замість типової системи введення клавіатури та миші, є кілька корисних програм для вас. Багато ігор ...
Корисні інструменти для геймерів Linux
Якщо ви любите грати в ігри на Linux, швидше за все, ви, можливо, використовували додатки та утиліти, такі як Wine, Lutris та OBS Studio, щоб покращит...
HD Remastered Games для Linux, які раніше ніколи не випускали Linux
Багато розробників і видавців ігор випускають HD-ремастер старих ігор, щоб продовжити життя франшизи. Будь ласка, шанувальники просять сумісність із с...