## Cron

## Automatisering van tar/rsync back-ups

Cron kan op Linux worden gebruikt om de uitvoering van opdrachten, zoals tar/rsync te automatiseren. Met Cron kunnen we ons Linux-systeem nachtelijke back-ups laten maken, of hoe vaak je ze ook wilt laten draaien.

Om het cron-tabelbestand te bewerken voor de gebruiker waarmee je bent ingelogd, voer je het volgende uit:

     crontab -e

Je moet bekend zijn met vi om dit bestand te kunnen bewerken. Typ "I" voor invoegen en begin met het bewerken van het cron-tabelbestand.

Cron gebruikt de volgende syntaxis: minuut van het uur, uur van de dag, dag van de maand, maand van het jaar, dag van de week, opdracht.

In het begin kan het een beetje verwarrend zijn, dus laten we een voorbeeld geven. Met de volgende opdracht wordt de opdracht rsync elke nacht om 22.00 uur uitgevoerd:

    0 22 * * * rsync -av --delete /Directory1/ /Directory2/

De eerste "0" geeft de minuut van het uur aan en "22" geeft 22:00 uur aan. Omdat we willen dat dit commando/opdracht dagelijks wordt uitgevoerd, laten we de rest van de velden achter met asterisken en plakken we het rsync-commando.

Nadat je klaar bent met het configureren van Cron, drukt je op escape, en typ je ": wq" (zonder de aanhalingstekens) en druk je op enter. Hiermee worden je wijzigingen in vi opgeslagen.

Cron kan veel dieper ingaan dan dit, probeer zelf eens onderdelen met Cron te automatiseren. De meeste mensen willen gewoon een eenvoudige wekelijkse of dagelijkse back-up, en wat we hebben laten zien, kunt je gemakkelijk bereiken. Zie de man-pagina's voor meer informatie over Cron.

Opbouw Cron:

    # Example of job definition:

    # .---------------- minute (0-59)
    # |  .------------- hour (0-23)
    # |  |  .---------- day of month (1-31)
    # |  |  |  .------- month (1-12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0-6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |

    # *  *  *  *  * command to be executed

Voorbeeld:

Voert sample-command.sh om 07:30, 09:30, 13:30 en 15:30 uit.

    30 07, 09, 13, 15 * * * sample-command.sh

Tijden in Cron:

De tijdsnelkoppelingen van één woord kunnen worden gebruikt om de vijf velden te vervangen die gewoonlijk worden gebruikt om tijden op te geven. Het @ -teken wordt gebruikt om snelkoppelingen naar cron te identificeren. De onderstaande lijst, afkomstig van de crontab (5) man-pagina, toont de snelkoppelingen met hun equivalente betekenis.

- @reboot: één keer uitvoeren na opnieuw opstarten.
- @yearly: voer één keer per jaar uit, dwz. 0 0 1 1 *
- @annually: Run één keer per jaar, dwz. 0 0 1 1 *
- @monthly: één keer per maand uitvoeren, dwz. 0 0 1 * *
- @weekly: Run één keer per week, dwz. 0 0 * * 0
- @daily: Run één keer per dag, dwz. 0 0 * * *
- @hourly: Run één keer per uur, dwz. 0 * * * *

Deze snelkoppelingen kunnen in elk van de crontab-bestanden worden gebruikt.