Als u bekend bent met Linux, weet u dat Cron de toepassing is die wordt gebruikt voor het plannen en automatiseren van taken in een Linux-omgeving. CronTab is de opdracht die wordt gebruikt om toegang te krijgen tot het Cron-bestand, waar de gebruiker taken kan instellen en plannen. Nee, ik heb CronTab niet in de titel gemist, CornTab is een webgebaseerde grafische gebruikersinterface waarmee u uw schema en opdrachten kunt instellen en vervolgens eenvoudig in uw cron-bestand kunt kopiëren en plakken.

Er zijn andere GUI-apps gebouwd om cron gemakkelijk te bewerken, zoals Gnome-Schedule. Als u echter geen nieuwe apps wilt installeren, is Corntab een geweldige webgebaseerde oplossing, vooral als u een cron-taak instelt op een computer die geen Gnome-Schedule heeft of er niet mee compatibel is.

Het gebruik voor cron ligt voor de hand, van het plannen van back-ups tot het uitvoeren van aangepaste scripts op specifieke tijden tot het openen van programma's volgens een schema, cron is de manier om het voor elkaar te krijgen.

Laten we beginnen met het plannen van een taak die eenvoudig elke minuut een tijdstempel maakt voor een logbestand, eerst met behulp van de shell / opdrachtregel. Daarna zullen we dezelfde stappen doorlopen met behulp van Corntab, zodat u kunt zien hoe eenvoudig het is om te gebruiken. Het maken van een tijdstempel of een uitvoer naar een logbestand is een uitstekende manier om te testen of uw instellingen in cron werken en natuurlijk om uw planning in de toekomst te volgen.

Open een terminal. Voordat we beginnen, is het het beste om te weten waar je terecht kunt voor informatie. De handleiding voor crontab kan worden gevonden door te typen:

 man crontab 

Natuurlijk kun je Google vinden en andere tutorials en waarschijnlijk de handleidingpagina's online vinden, maar het is altijd goed om je weg te weten in de commandoregel!

De syntaxis voor cron is als volgt:

 crontab [-u user] bestand crontab [-u user] [-i] {-e | -l | -r} [-s] 
  • -l optie zorgt ervoor dat de huidige crontab wordt weergegeven op standaarduitvoer.
  • -r optie zorgt ervoor dat de huidige crontab wordt verwijderd.
  • -e optie -e wordt gebruikt om de huidige crontab te bewerken met behulp van een editor die is opgegeven door de omgevingsvariabelen VISUAL of EDITOR.
  • -u optie geeft de naam aan van de gebruiker wiens crontab moet worden aangepast. Als deze optie niet wordt gegeven, gebruikt crontab de huidige gebruiker die de opdracht uitvoert.
  • optie -s voegt de huidige SELinux-beveiligingscontextstring als een MLS_LEVEL-instelling toe aan het crontab-bestand voordat bewerking / vervanging plaatsvindt (zie de documentatie van MLS_LEVEL in crontab. Dit wordt niet in alle variaties van Linux / cron gebruikt).

Merk op dat sommige programma's moeten worden uitgevoerd met rootprivileges. Wanneer dit het geval is, moet je naar de root-gebruiker gaan met de su opdracht of de sudo opdracht die in de meeste Linux-variaties zou moeten werken (Debian, Ubuntu, Fedora).

Om uw crontab-type te bewerken:

 crontab -e 

of

 sudo crontab -e 

Enkele basisregels voor cron

  • Een veld kan een asterisk (*) zijn, wat altijd staat voor "first-last".
  • m-minuten (0-59)
  • h -uur (0-23)
  • datum van de maand (1-31)
  • monstermijn van het jaar (1-12)
  • donderdag -dag van de week (0-6 met 0 = zondag)
  • opdracht-applicatie, script, enz

Geavanceerde korte codes:

string betekenis
- ---
@reboot Eenmalig opstarten, bij het opstarten.
@yearly Een keer per jaar uitvoeren, "0 0 1 1 *".
@jaarlijks (hetzelfde als @ jaar)
@maandelijks Een keer per maand uitvoeren, "0 0 1 * *".
@weekly Een keer per week uitvoeren, "0 0 * * 0".
@daily Run eenmaal per dag, "0 0 * * *".
@midnight (hetzelfde als @daily)
@hourly één keer per uur uitvoeren, "0 * * * *"

Door komma's gescheiden waarden kunnen worden gebruikt om meer dan één instantie van een bepaald commando binnen een tijdsperiode uit te voeren.

Met streepjes gescheiden waarden kunnen worden gebruikt om een ​​opdracht continu uit te voeren.

Laten we onze cronjob opzetten.

Als u voor het eerst crontab invoert, krijgt u waarschijnlijk een keuze te zien van de editor die u wilt gebruiken. Voel je vrij om er een te kiezen, maar ik blijf normaal bij nano omdat het eenvoudig, schoon is en de klus geklaard krijgt.

Voer gewoon het volgende in om onze oorspronkelijke taak te voltooien:

 * * * * * echo "De huidige minuut is: $ (datum)" >> /tmp/minute.log 

"Control-x" zal vragen om op te slaan en vervolgens bevestigen bevestigt. Je zou moeten zien dat cron met succes is bijgewerkt. De taak zal de huidige datum / tijd elke minuut afdrukken naar een bestand met de naam minute.log in de map / tmp.

Hier is de automatische uitvoer gedurende 6 minuten:

Laten we ons verbeelden, hoe zit het met het afdrukken van de datum om de 2 minuten ...

 * / 2 * * * * echo "De huidige minuut is: $ (datum)" >> /tmp/minute.log 

Het gebruik van * / n waarbij n een positief geheel getal is, zegt elke n minuut of elke uur.

Hoe zit het met het afdrukken van de datum om 05:30 elke maandag en vrijdag:

 30 5 * * 1, 5 echo "De huidige minuut is: $ (datum)" >> /tmp/minute.log 

Voel je vrij om te spelen met het plannen van eenvoudige "echo" naar logbestanden. Verplaats vervolgens naar scripts en toepassingen.

Spelen met Corntab

Laten we nu eens kijken naar CornTab, de webgebaseerde cron-editor die zorgt voor de syntaxis terwijl we gewoon op de opties klikken.

Hier is een stap voor stap om een ​​crontab te maken die de huidige datum / tijd elke twee minuten afdrukt, alleen in januari, februari, maart en april, op donderdag en vrijdag.

Klik eerst op "elke n minuten" en verplaats de schuifregelaar naar 2 minuten.

Klik vervolgens om de maand uit te vouwen, klik om "elke geselecteerde maand" te selecteren en selecteer Jan, Feb, Mar, Apr.

Klik vervolgens om de dag van de week uit te vouwen, selecteer "elke geselecteerde dag van de week" en selecteer do en vr.

Klik ten slotte om opdracht uit te vouwen en typ de code / het script in. Vervolgens kunt u de volledige croncode van Corntab kopiëren en in uw crontab plakken met behulp van de stappen aan het begin van dit artikel.

Referenties en meer informatie over Cron:

http://www.pantz.org/software/cron/croninfo.html
http://www.computerhope.com/unix/ucrontab.htm
https://help.ubuntu.com/community/CronHowto