11 Cron Scheduling Task Beispiller am Linux


An dësem Artikel wäerte mir iwwerpréiwen a kucken wéi mir Aufgaben am Hannergrond automatesch a reegelméissegen Intervalle mat dem Crontab Kommando plangen a lafen.

Mat enger häufiger Aarbecht manuell ëmzegoen ass eng beängschtegend Aufgab fir Systemadministrateuren an esou Aufgaben kënnen automatesch am Hannergrond geplangt a lafen ouni mënschlech Interventioun mam Cron-Daemon am Linux oder Unix-ähnleche Betribssystem.

[ Dir kënnt och gär hunn: Wéi erstellen a verwalten Cron Jobs op Linux ]

Zum Beispill kënnt Dir Online Tools automatiséieren fir Cron Jobs ze generéieren.

Cron erwächt all Minutt an iwwerpréift Zäitplang Aufgaben a zielbar - Crontab (CRON TABle) ass en Dësch wou mir sou Aarte vu widderholl Aufgabe kënne plangen.

Tipps: All Benotzer kann hiren eegene Crontab hunn fir Aufgaben ze kreéieren, z'änneren an ze läschen. Par défaut ass cron fir d'Benotzer aktivéiert, awer mir kënnen d'Benotzer beschränken andeems en Entrée an /etc/cron.deny Datei derbäigesat gëtt.

Crontab Datei besteet aus Kommando pro Zeil an huet sechs Felder tatsächlech a getrennt entweder vu Raum oder Tab. Déi éischt fënnef Felder representéieren Zäit fir Aufgaben ze lafen an dat lescht Feld ass fir Kommando.

  • Minutt (Wäerter tëscht 0-59 halen)
  • Stonn (halen Wäerter tëscht 0-23)
  • Dag vum Mount (Wäerter tëscht 1-31 halen)
  • De Mount vum Joer (hält Wäerter tëscht 1-12 oder Jan-Dez, Dir kënnt déi éischt dräi Buschtawen vum Numm vum Mount benotzen, also Jan oder Jun.)
  • Dag vun der Woch (Halt Wäerter tëscht 0-6 oder Sonn-Sam, Hei kënnt Dir och déi éischt dräi Buschtawen vum Numm vun all Dag benotzen dh Sonn oder Mettwoch.)
  • Kommando - De /path/to/Command oder Skript deen Dir wëllt plangen.

Lëscht oder verwalten d'Aufgab mam crontab Kommando mat der Optioun -l fir den aktuelle Benotzer.

# crontab -l

00 10 * * * /bin/ls >/ls.txt

Fir d'Crontab-Entrée z'änneren, benotzt -e d'Optioun wéi hei ënnendrënner. Am hei ënnendrënner Beispill wäert oppen Stonneplang Aarbechtsplazen an VI Redakter. Maacht déi néideg Ännerungen an dréckt op :wq Schlësselen déi d'Astellung automatesch späicheren.

# crontab -e

Fir geplangten Aarbechtsplaze vun engem bestëmmte Benotzer genannt tecmint ze notzen andeems Dir d'Optioun als -u (Benotzer) an -l (Lëscht) benotzt.

# crontab -u tecmint -l

no crontab for tecmint

Bemierkung: Nëmmen de Root Benotzer huet komplett Privilegien fir d'Crontab Entréen vun anere Benotzer ze gesinn. Normal Benotzer kënnen anerer net gesinn.

Opgepasst: Crontab mat -r de Parameter wäert komplett geplangte Jobs ewechhuelen ouni Bestätegung vu crontab. Benotzt d'Optioun -i ier Dir de Crontab vum Benotzer läscht.

# crontab -r

crontab mat -i d'Optioun freet Iech d'Bestätegung vum Benotzer ier Dir d'Crontab vum Benotzer läscht.

# crontab -i -r

crontab: really delete root's crontab?

  • Asterisk(*) - Match all Wäerter am Feld oder all méigleche Wäert.
  • Bindestrich (-) - Fir d'Gamme ze definéieren.
  • Slash (/) - 1. Feld /10 dat heescht all zéng Minutten oder Inkrement vum Beräich.
  • De Komma (,) - Fir Elementer ze trennen.

System Administrateur kann predefinéiert Cron Verzeechnes benotzen wéi hei ënnendrënner.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly

Déi ënnescht Aarbechtsplaze läschen eidel Dateien an Verzeechnes vun /tmp um 12:30 all Dag. Dir musst de Benotzernumm ernimmen fir de crontab Kommando auszeféieren. Am Beispill hei ënnen mécht de root Benotzer eng Cron Aarbecht.

# crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

Braucht fënnef Felder vum Cron Kommando mat Schlësselwieder ze ersetzen wann Dir datselwecht wëllt benotzen.

Am Beispill hei ënnen, command1 a command2 lafen all Dag.

# crontab -e

@daily <command1> && <command2>

Par défaut schéckt cron Mail un de Benotzerkont deen cronjob ausféiert. Wann Dir se auszeschalten wëllt, füügt Är Cron Job ähnlech wéi dat hei ënnendrënner Beispill. Benotzt>/dev/null 2>&1 Optioun um Enn vun der Datei wäert all d'Output vun de Cron Resultater ënner /dev/null redirectéieren.

 crontab -e
* * * * * >/dev/null 2>&1

Schlussfolgerung: Automatisatioun vun Aufgaben kann eis hëllefen eis Aufgaben op besser Manéier ze maachen, Feelerfräi an effizient. Dir kënnt op eng manuell Säit vun crontab fir méi Informatioun verweisen andeems Dir de 'man crontab' Kommando an Ärem Terminal tippt.