11 Exemples de tasques de programació de Cron a Linux
En aquest article, revisarem i veurem com podem programar i executar tasques en segon pla automàticament a intervals regulars mitjançant l'ordre Crontab.
Fer front a un treball freqüent manualment és una tasca descoratjadora per als administradors del sistema i aquestes tasques es poden programar i executar automàticament en segon pla sense la intervenció humana mitjançant el dimoni cron al sistema operatiu Linux o Unix.
[També us pot agradar: Com crear i gestionar treballs Cron a Linux]
Per exemple, podeu automatitzar eines en línia per generar treballs cron.
Cron es desperta cada minut i comprova les tasques de programació en comptable: Crontab (CRON TABle) és una taula on podem programar aquest tipus de tasques repetides.
Consells: cada usuari pot tenir el seu propi crontab per crear, modificar i suprimir tasques. Per defecte, cron està habilitat per als usuaris, però, podem restringir els usuaris afegint una entrada al fitxer /etc/cron.deny.
El fitxer Crontab consta d'ordres per línia i en realitat té sis camps separats per espai o tabulació. Els cinc camps inicials representen el temps per executar les tasques i l'últim camp és per a l'ordre.
- Minut (manteniu els valors entre 0 i 59)
- Hora (valors de manteniment entre 0 i 23)
- Dia del mes (manteniu els valors entre 1 i 31)
- El mes de l'any (manteniu els valors entre l'1 i el 12 de gener i de desembre; podeu utilitzar les tres primeres lletres del nom de cada mes, és a dir, gener o juny)
- Dia de la setmana (manteniu els valors entre 0 i 6 o Dg-Ds. Aquí també podeu utilitzar les tres primeres lletres del nom de cada dia, és a dir, Dg o Dj. )
- Ordre: /path/to/command o script que voleu programar.
Llista o gestiona la tasca amb l'ordre crontab amb l'opció -l
per a l'usuari actual.
# crontab -l 00 10 * * * /bin/ls >/ls.txt
Per editar l'entrada crontab, utilitzeu -e
l'opció com es mostra a continuació. A l'exemple següent, s'obriran tasques de planificació a l'editor VI. Feu els canvis necessaris i deixeu de prémer les tecles :wq
que desaran la configuració automàticament.
# crontab -e
Per llistar els treballs programats d'un usuari concret anomenat tecmint utilitzant l'opció -u
(Usuari) i -l
(Llista).
# crontab -u tecmint -l no crontab for tecmint
Nota: Només l'usuari root té privilegis complets per veure les entrades crontab d'altres usuaris. Els usuaris normals no poden veure'n els altres.
Precaució: Crontab amb -r
el paràmetre eliminarà les tasques programades completes sense confirmació de crontab. Utilitzeu l'opció -i
abans d'esborrar el crontab de l'usuari.
# crontab -r
crontab amb -i
l'opció us demanarà la confirmació de l'usuari abans de suprimir el crontab de l'usuari.
# crontab -i -r crontab: really delete root's crontab?
- Asterisc (*): coincideix amb tots els valors del camp o qualsevol valor possible.
- Guion (-) – Per definir l'interval.
- Barra inclinada (/) - 1r camp /10, que significa cada deu minuts o increment d'interval.
- La coma (,): per separar elements.
L'administrador del sistema pot utilitzar el directori cron predefinit com es mostra a continuació.
- /etc/cron.d
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.monthly
- /etc/cron.weekly
Els treballs següents suprimeixen fitxers i directoris buits de /tmp a les 12:30 a.m. diàriament. Heu d'esmentar el nom d'usuari per executar l'ordre crontab. A l'exemple següent, l'usuari root està realitzant una tasca cron.
# crontab -e 30 0 * * * root find /tmp -type f -empty -delete
Heu de substituir cinc camps de l'ordre cron per paraules clau si voleu utilitzar-los.
A l'exemple següent, command1 i command2 s'executen diàriament.
# crontab -e @daily <command1> && <command2>
Per defecte, cron envia correu al compte d'usuari que executa cronjob. Si voleu desactivar-lo, afegiu el vostre treball cron similar a l'exemple següent. Si utilitzeu l'opció >/dev/null 2>&1 al final del fitxer, es redirigirà tota la sortida dels resultats cron a /dev/null.
crontab -e * * * * * >/dev/null 2>&1
Conclusió: L'automatització de les tasques ens pot ajudar a realitzar les nostres tasques de millors maneres, sense errors i de manera eficient. Podeu consultar una pàgina de manual de crontab per obtenir més informació escrivint l'ordre man crontab al vostre terminal.