Ми складаємо список програмного забезпечення та інструментів для Linux, які використовуються як керівництво до списку семи смертних гріхів. Як і в попередніх статтях, ми використовуємо лінь як привід для говорити про засоби автоматизації в Linux. Один з них в анахроні. У цій статті ми побачимо, як відбувається налаштування anacrontab. anacrontab — це той, який повідомляє anacron, що і коли робити.
В anacron дата виконання завдань фіксується в днях і, якщо комп’ютер не працює під час виконання завдання, він запускається під час запуску.
Конфігурація anacrontab
Спочатку anacron шукає список завдань для виконання в каталозі /etc/anacrontab
. Завдання повинні бути написані в такому форматі:
período retraso identificador del trabajo comando donde:
- періоду: Частота, з якою необхідно виконувати роботу. Він може бути виражений у днях (абревіатура англійською мовою), періоді (@daily, @weekly або @monthly для дня, тижня чи місяця) або цифрами (1 для дня, 7 для тижня, 30 для місяця та будь-яке число для довільний період днів.
- затримка: Час очікування перед початком роботи. Наприклад 360 для виконання завдання о 6 ранку.
- ідентифікатор роботи: ім’я, призначене для завдання, щоб відрізняти його від інших у звітах про помилки та результати
- команда: Це інструкція, яку anacron має виконати у вказаний момент.
.
Оскільки ми маємо намір використовувати anacron для завдань, які не стосуються адміністрування системи, ми збираємося скопіювати каталоги, які використовує cron, у нашій локальній папці користувача. ми робимо це з
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
Таким чином ми створюємо каталоги для збереження різних щоденних, щотижневих і місячних сценаріїв, а також місце, де буде збережено звіт про останнє виконання anacron.
Нарешті, ми кажемо anacron використовувати наші локальні папки користувача замість системних.
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
Тепер ми збираємося відредагувати файл конфігурації. Ми робимо це з терміналу за допомогою:
nano ~/.local/etc/anacrontab:
У документі, що відкрився, ми додаємо ці рядки:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Ці рядки виконують ті самі функції, які ми вже пояснювали для crontab. Вкажіть, що ви повинні використовувати Bash як інтерпретатор команд і в яких каталогах шукати виконувані файли. Зберігаємо документ с Травень +0 і ми закриваємо його з Shift + X.
Ім’я та розташування папок cron, які ми створюємо, є довільними. Я вирішив залишити стандартні, щоб не плутати читачів, яким потрібна додаткова інформація з інших джерел. Якщо шлях до сценарію вказано в acrontab, ви можете використовувати бажану папку та шлях зберігання. Те саме стосується ідентифікатора роботи.
Є дві інші змінні, які ми можемо налаштувати:
- START_HOURS_RANGE
- RANDOM_DELAY
: встановлює часовий діапазон, у якому розпочинаються завдання (тобто виконувати завдання лише протягом наступних годин).
: це визначає максимальну випадкову затримку, додану до визначеної користувачем затримки завдання (за замовчуванням 45).
Яка різниця між cron і anacron?
cron — це те, що в системах і похідних відоме як a демон тобто програма, яка працює у фоновому режимі та без втручання користувача. Призначений для серверів, тобто обладнання, яке працює майже безперервно, не потребуючи жодної уваги, але вимагає частого обслуговування.
anacron - звичайна програма більше підходить для настільних ПК Вони не включені постійно. Тому, на відміну від cron, де найменшою одиницею часу є хвилина, він працює з мінімальною періодичністю в один день.
З тієї ж причини cron не містить альтернатив, якщо комп’ютер не ввімкнено.або поки anacron переглядає незавершені завдання під час входу. Коли він виявляє, що завдання не розпочато у встановлений час, він виконає команду, указану в полі команди, після очікування кількості хвилин, указаної в полі затримки. Потім він зареєструє дату у файлі часових позначок.