-
Mode opératoire
- Sauvegarde de la crontab avant modification avec la date/heure (attention, si vous souhaitez modifier le chemin /tmp de cette procédure sur le serveur, il faudra peut-être créer le nouveau dossier via la commande mkdir -p /dossier ):
export
cronpremod=
"/tmp/cron-$USER-$(date +"
%Y%m%d-%Hh%Mm%S
")-premod"
&&
crontab
-l > $cronpremod
- On édite la crontab (l’éditeur par défaut étant vi, on utilise des commandes vi.) :
crontab
–e
- Faire la modification souhaitée de la crontab (en rajoutant en commentaire avant le ticket de référence).
Exemple de ligne pour un reboot tous les 3ème dimanche de févriers, juin, octobre et décembre :
0 8 15-21 4,6,10,12 * [ `
/bin/date
+\%w` -
eq
0 ] &&
/sbin/shutdown
-r now
Description des informations
0 : minutes
8 : heures
15-21 : du 15 au 21 de chaque mois
2,6,10,12 : les mois de févriers, juin, octobre et décembre
* : Le jour de la semaine, Attention, ce paramètre écrase le 3ème ( Si vous spécifiez "'0 8 15-21 2 5 '/sbin/shutdown -r now" la commande s’exécutera tout les vendredi du mois de février).
[ `/bin/date +\%w` -eq 0 ] && /sbin/shutdown -r now : la commande à exécuter (ici, on vérifie que nous somme bien le dimanche grâce à [ `/bin/date +\%w` -eq 0 ] puis on lance le reboot. Le numéro du jour doit être compris entre 0 et 6 : %w day of week (0..6); 0 is Sunday. (Cette commande à été récupérée lors de la réversibilité)
Sauvegarder la modification :
:wq !
Sauvegarde de la crontab après modification avec la date/heure
export
cronpostmod=
"/tmp/cron-$USER-$(date +"
%Y%m%d-%Hh%Mm%S
")-postmod"
&&
crontab
-l > $cronpostmod
Vérification de la modification.
diff
-u $cronpremod $cronpostmod
Prendre un screenshot du résultat.
-
Point d’attention
Merci d’adapter la variable $USER si vous lancer crontab sous le compte root pour un autre compte
Exemple :
crontab
–l –u bernard >
/tmp/cron-webadm-
$(
date
+
"%Y%m%d-%Hh%Mm%S"
)-premod