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:
- Asterisc
(*)
: especifica tots els valors possibles per a un camp - La coma
(,)
: especifica una llista de valors - Guió
(-)
: especifica un interval de valors - 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:
@hourly
: executa una vegada cada hora, és a dir, 0 * * * *@midnight
: executa un cop cada dia, és a dir, 0 0 * * *@diari
: igual que mitjanit@setmanal
: executa un cop cada setmana, és a dir, 0 0 * * 0@monthly
: executa un cop al mes, és a dir, 0 0 1 * *@anualment
: executa un cop cada any, és a dir, 0 0 1 1 *@anyar
: igual que @anual@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.