Автоматизиране на задачи с Cron

Автоматизиране на задачи с Cron

Терминалът на Linux ни позволява да правим неща отвъд простото въвеждане на команди. В този случай ще говорим за автоматизиране на задачи с Cron. Автоматизацията ни позволява не само да избегнем повтарящи се задачи, но и да накараме компютъра да ги изпълнява, когато не сме там. Това е особено полезно на сървъри.

Cron е демон, който е отговорен за изпълнението на задачи през определен интервал от време. Въпреки че функцията му е да се справя с редовните задачи по поддръжка на системата, можем да добавим и други, които ни интересуват.

Когато говорим за демони, нямаме предвид малък дявол в компютъра ни. В компютърните науки, демонът е приложение или процес, който работи във фонов режим на операционната система, без да изисква директно взаимодействие с потребителя. Техните отговорности включват мрежови връзки, печат, уеб сървъри и наблюдение на ресурси.

Някои от основните му характеристики

  • Те обикновено започват със зареждането на системата.
  • Те работят във фонов режим, без потребителят да е наясно с съществуването им.
  • Те са предназначени да изпълняват задачи постоянно или в отговор на определени събития.

Автоматизиране на задачи с Cron

Ако искаме да кажем на Cron какво да прави, можем да го направим, използвайки crontab файл. Това е просто текстов файл, който показва поредица от команди, които cron трябва да изпълни на определена дата. Има два вида crontab файлове: crontab файл, създаден от системата, и crontab файл, създаден от потребителя.

При никакви обстоятелства не бива да докосваме системния crontab файл, който се използва от Linux за конфигуриране и поддръжка. Невъзможно е да го промените по погрешка, тъй като този файл се намира в папката. /и т.н./crontab.

Създаване на собствени crontab-ове

Cron изисква задачите, които му възлагаме, да имат параметрите, посочени в този ред:

h: Начален час в диапазона 0-23.

m: Минути в интервала 0-59.

d: Ден от месеца между интервала 1-31

ме: Указва месеца от годината в диапазон от 1 до 12

s: Ден от седмицата с интервала 0-6

Тези данни се съхраняват във файла crontab. За да създадем този файл, пишем командата:
crontab –u nombre de usuario –e
Ако crontab ще бъде за потребителя по подразбиране, можем да пропуснем параметъра -u
Когато го стартираме за първи път, ще ни каже, че файлът не съществува и ще ни предложи да създадем такъв и да го редактираме с един от редакторите, инсталирани на компютъра.

Някои неща, които трябва да имате предвид, когато редактирате crontab, са:

  • Всяка задача се изпълнява на ред
  • Във всички случаи трябва да бъдат посочени датата и часът, в които всяка задача трябва да бъде изпълнена. За да се обозначи периодичност (например вторник в 18:XNUMX ч.), вместо останалите параметри се изписват звездички. (*)
  • Възможно е да се присвоят повече от една стойност на параметър (например вторник и четвъртък в 18:XNUMX ч.), като се разделят двете стойности със запетаи.
  • Между параметрите трябва да се оставят интервали.
  • Посочете директорията, където се намира програмата за стартиране на команди.

Да дадем пример, ако искаме да рестартираме компютъра всеки ден в 19:XNUMX ч.:

0 19 * * * /sbin/reboot

За да може рестартирането да бъде само в сряда, инструкцията ще бъде:

0 20 * * 3 /sbin/reboot.

Има някои преки пътища, които ни позволяват да избегнем записването на всички параметри:

@на часАко искаме да изпълним команда в началото на всеки час.
@ежедневно: Да се ​​изпълнява командата в началото на всеки ден.
@седмично: Изпълнете командата в първия ден от седмицата.
@месечно: Командата се изпълнява на първата минута на всеки месец.
@годишноСъщото, но в първата минута на всяка година..
Някои примери за използване на тази команда:

@daily /bin/sh /ruta_al_script/nombre_del_script.sh Изпълнете персонализирани инструкции в bash скрипт в началото на деня.

@hourly /bin/python3 /ruta_al_script/nombre_del_script.py Кара Python скрипт да се изпълнява всеки час.

Винаги трябва да се уверяваме, че скриптовете имат разрешения за изпълнение.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.