rss logo

Configuration de /etc/crontab sur OpenBSD

Logo OpenBSD

Récemment, j'ai voulu programmer des tâches automatiques sur un système OpenBSD. Une grande surprise pour moi a été que, contrairement aux distributions Linux, il n'y avait pas de fichier /etc/crontab par défaut.

Il n'est en fait pas très difficile de le mettre en place, mais il y a certains aspects à prendre en compte pour le créer et le faire fonctionner, choses que nous allons voir ici.

Ce qu'il faut savoir

Avant de continuer, voici quelques éléments à savoir sur la configuration du fichier /etc/crontab.

  • Choses à savoir:
    • Journal des activités de cron : /var/cron/log, utile pour tracer les commandes qui sont correctement exécutées.
    • Temps de prise en compte des modifications de fichier : cron vérifie la date de modification du fichier crontab du système une fois par minute.
    • Mode de fichier : Le fichier crontab sera ignoré s'il n'a pas le mode de fichier approprié. Le mode doit être 0600. Il ne doit pas être modifiable par un utilisateur autre que root et ne doit pas avoir les bits d'exécution, set-user-ID, set-group-ID ou sticky bits définis.
    • Redémarrage de cron : /etc/rc.d/cron restart
    • Alternativement, nous pouvons utiliser le fichier /var/cron/tabs/root.

Créer le fichier /etc/crontab

  • Créer le fichier /etc/crontab :
root@host:~# touch /etc/crontab
  • Définir les propriétaires du fichier :
root@host:~# chown root:wheel /etc/crontab
  • Définir les droits du fichier :
root@host:~# chmod 0600 /etc/crontab
  • Éditer le fichier /etc/crontab :

Ici un exemple ou l'on souhaite télécharger le fichier br.zone (qui contient la liste de toutes les ips Brésiliennes) chaque 12 du mois à 5:00 du matin.

# 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 # | | | | | # * * * * * user-name command to be executed 0 5 12 * * root wget --no-check-certificate https://www.ipdeny.com/ipblocks/data/countries/br.zone -O /etc/tables/br.zone
  • Vérifier le fichier /var/cron/log pour vérifier que la commande a été exécutée :
root@host:~# tail -f /var/cron/log Apr 12 00:05:01 BSDhost cron[3577]: (root) CMD (wget --no-check-certificate https://www.ipdeny.com/ipblocks/data/countries/br.zone -O /etc/tables/br.zone)
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address