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.