Com crear i gestionar treballs Cron a Linux


automatitzar tasques de còpia de seguretat, neteja de directoris, notificacions, etc.

Els treballs de Cron s'executen en segon pla i comproven constantment el fitxer /etc/crontab i els /etc/cron.*/ i /var/spool/cron/ directoris . Els fitxers cron no s'han d'editar directament i cada usuari té una crontab única.

Com se suposa que heu de crear i editar treballs cron? Amb ordres crontab. El crontab és el mètode que utilitzeu per crear, editar, instal·lar, desinstal·lar i llistar tasques cron.

L'ordre per crear i editar treballs cron és el mateix i senzill. I el que és encara més genial és que no cal que reinicieu Cron després de crear fitxers nous o editar-ne els existents.

$ crontab -e

Sintaxi de Cron

Tal com passa amb qualsevol llenguatge, treballar amb cron és molt més fàcil quan enteneu la sintaxi i hi ha 2 formats que hauríeu de conèixer:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Explicació de la sintaxi de cron anterior:

  • A: Interval de minuts: 0 – 59
  • B: Interval d'hores: 0 - 23
  • C: Interval de dies: 0 – 31
  • D: Interval de mesos: 0 – 12
  • E: Interval de dies de la setmana: 0 - 7. A partir de dilluns, 0 o 7 representa diumenge
  • USERNAME: substituïu-lo pel vostre nom d'usuari
  • /path/to/command: el nom de l'script o l'ordre que voleu programar

Això no és tot. Cron utilitza 3 símbols d'operador que us permeten especificar diversos valors en un camp:

  1. Asterisc (*): especifica tots els valors possibles per a un camp
  2. La coma (,): especifica una llista de valors
  3. Guió (-): especifica un interval de valors
  4. Separador (/): especifica un valor de pas

Ara que coneixeu la sintaxi i els operadors de Cron, vegem alguns exemples de cron.

Exemples de treballs de Cron

El primer pas per executar ordres cron és instal·lar el vostre crontab amb l'ordre:

# crontab -e

Executeu /root/backup.sh a les 3 del matí cada dia:

0 3 * * * /root/backup.sh

Executeu script.sh a les 16:30 el segon de cada mes:

30 16 2 * * /path/to/script.sh

Executeu /scripts/phpscript.php a les 22:00 durant la setmana:

0 22 * * 1-5 /scripts/phpscript.php

Executeu perlscript.pl a 23 minuts després de la mitjanit, a les 2 i a les 4 del matí, tots els dies:

23 0-23/2 * * * /path/to/perlscript.pl

Executeu l'ordre de Linux a les 04:05 cada diumenge:

5 4 * * sun /path/to/linuxcommand

Opcions de Cron

Llista de treballs de cron.

# crontab -l
OR
# crontab -u username -l

Suprimeix totes les feines de crontab.

# crontab -r

Suprimeix el treball Cron per a un usuari específic.

# crontab -r -u username

Cordes a Crontab

Les cordes es troben entre les coses preferides dels desenvolupadors perquè ajuden a estalviar temps eliminant l'escriptura repetitiva. Cron té cadenes específiques que podeu utilitzar per crear ordres més ràpidament:

  1. @hourly: executa una vegada cada hora, és a dir, 0 * * * *
  2. @midnight: executa un cop cada dia, és a dir, 0 0 * * *
  3. @diari: igual que mitjanit
  4. @setmanal: executa un cop cada setmana, és a dir, 0 0 * * 0
  5. @monthly: executa un cop al mes, és a dir, 0 0 1 * *
  6. @anualment: executa un cop cada any, és a dir, 0 0 1 1 *
  7. @anyar: igual que @anual
  8. @reboot: executar una vegada a cada inici

Per exemple, així és com fer una còpia de seguretat del vostre sistema cada dia:

@daily /path/to/backup/script.sh

En aquest punt, teniu tot el que necessiteu per crear i gestionar tasques del sistema amb Cron. Ara podeu començar a configurar i mantenir diversos entorns mitjançant ordres programades.

Quant d'usuari de Cron ets? I hi ha algun detall que puguis aportar a l'article? El quadre de discussió es troba a continuació.

Quan entengueu prou sobre com funciona Crontab, podeu utilitzar aquestes útils utilitats del generador de Crontab per generar línies de crontab de forma gratuïta.

A més, podeu llegir l'article d'Ubuntu sobre com utilitzar Cron aquí. Té recursos que us poden ser útils.