Winkelwagen

/ VPS-Infrastructuur

Alles over de zelfontwikkelde VPS-infrastructuur

Register now

/ Up to date

/ Nieuws

Lancering PerformanceVPS

Meer info
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Wat is een cronjob?

    Voor het uitvoeren van taken (commando's of shell scripts) op een vaste datum/tijdstip, gebruik je binnen Linux een 'cron', ook bekend als 'cronjob'. Cron is de naam van de taakplanner die al sinds 1975 in Unix systemen hiervoor gebruikt wordt.

    Een veel gebruikte toepassing is bijvoorbeeld het automatiseren van systeemonderhoud, of synchroniseren van bestanden naar een back-up server.

    Crontab staat voor cron table en is een configuratiebestand dat een overzicht van cronjobs bevat. Voor het uitvoeren van die cronjobs gebruikt crontab cron.


    Cronjobs plannen

    Voor het plannen van cronjobs op je server kan iedere gebruiker een eigen crontab bestand gebruiken, maar er is vaak ook een serverbrede crontab. Je opent crontab met:

    crontab -e

    Voor de serverbrede crontab gebruik je sudo:

    sudo crontab -e

    Open je crontab voor het eerst, dan krijg je de vraag of je als tekst editor nano, vim basic of tiny wil gebruiken. Je bent vrij om je favoriete editor te gebruiken.

    opening your first crontab

    Eenmaal geopend krijg je een uitgecommentarieerde instructie te zien voor het gebruik van crontab:

    crontab overview

    Om je crontab overzichtelijk te houden ben je vrij deze instructie te verwijderen.


    Iedere cronjob die je aanmaakt in crontab stel je in op één enkele regel en is opgebouwd uit twee delen: een deel waarin je aangeeft wanneer het commando uitgevoerd moet worden en een deel waarin je aangeeft welke taak uitgevoerd wordt:

    * 0 * * * je_commando_of_script 
    
    • Vervang je_commando_of_scriptdoor een shell-script of commando, bijvoorbeeld:
      * 0 * * * rsync -auv "ssh -p 1234 etc" 
      # of:
      * 0 * * * ~/bin/script.sh
    • De sterretjes geven aan wanneer de cronjob wordt uitgevoerd. In het bovenstaande voorbeeld geeft de 0 aan dat het commando iedere dag om 0:00 zou worden uitgevoerd. De sterretjes in een cronjob staan voor de volgende waardes:
      #  minuut (0 - 59)
      #   uur (0 - 23)
      #    dag van de maand (1 - 31)
      #     maand (1 - 12)
      #      dag van de week (0 - 6) (Zondag tot Zaterdag)
      #     
      #     
      #     
      # * * * * * je_commando_of_script 
      De dag van de week in het laatste veld gaat in sommige systemen tot 7, waarbij 7 net als 0 voor zondag staat.

    Naast het instellen van de cronjob via de sterretjes zijn er ook enkele definities vooraf ingesteld die je kunt gebruiken:

    • @yearly / @annually: het commando wordt uitgevoerd om 0:00 op 1 january
    • @monthly: het commando wordt uitgevoerd om 0:00 de eerste dag van de maand
    • @weekly: het commando wordt iedere zondag om 0:00 uitgevoerd
    • @daily / @ midnight: het commando wordt iedere dag om 0:00 uitgevoerd
    • @hourly: het commando wordt ieder uur uitgevoerd
    • @reboot: het commando wordt iedere keer dat de server start uitgevoerd

    Dit zou er bijvoorbeeld uit zien als volgt:

    @daily je_commando_of_script

    Wanneer je daarna de crontab opslaat en afsluit, krijg je als alles goed is gegaa een melding te zien die lijkt op de volgende:

    "crontab.aB1cde/crontab" 25L, 917C written
    crontab: installing new crontab

    Wil je via command-line controleren welke cronjobs er staan ingesteld voor je huidige gebruiker? Gebruik dan het commando:

    crontab -l
    

    Voor systeembrede cronjobs gebruik je sudo:

    sudo crontab -l

    Daarmee zijn we aan het eind gekomen aan dit artikel over cronjobs. Mocht je aan de hand van deze handleiding nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op