Certaines commandes linux
LINUX : Crontab & les Crons
%title: LINUX %author: xavki
%title: LINUX %author: xavki
Objectif :
* programmer des tâches régulières
* lancer ces tâches avec un utilisateur spécifié
man cron
Deux types de configuration :
* crontab : à travers la commande crontab ou /var/spool/cron
* gestion par utilisateur
* /etc/cron.d/ ou /etc/cron.daily/ (hourly...) : avec des fichiers
* possiblité de définir l'utilisateur dans la ligne de cron
Par la commande crontab :
- éditer
crontab -e
* * * * * echo "$(date)" >> /tmp/xavki.txt
- lister
crontab -l
- pour lister d'un autre utilisateur
crontab -u toto -l
- supprimer tout le fichier (attention)
crontab -r
- visualiser ou éditer via spool
sudo cat /var/spool/cron/crontabs/oki
Une ligne de cron : job
* <fréquence><user?><variable?><commande>
* fréquence : <minute><heure><jour_mois><mois><jour_semaine>
Les caractères spéciaux :
* "*" : toutes les occurences (ex : toutes les minutes...)
* "," : spécifier plusieurs valeurs de temps (ex : 1,2,3 (lun/mar/mer)
* "-" : définir une plage de temps (ex : 10-20 entre 10min et 20min)
* "/" : définir un interval de temps (ex : */5 toutes les 5 minutes)
* "L" : définir le dernier élément de (ex : 5L dernier vendredi
* "#" : pour indiquer le jour du mois avec sa position (ex : 2#3 troisième mardi)
- exemples :
* * * * * echo "Je suis là" > /tmp/xavki.txt
* * * * * root echo "Je suis là" > /tmp/xavki.txt
*/5 * * * * /opt/monscript.sh
- Envoi de mail possible (sous réserv de configurer un serveur smtp
MAILTO="xavki@moi.fr"
- cas de /etc/cron.d/ ou autre
* * * * * root echo "$(date)" >> /tmp/xavki.txt
- autorisation
/etc/cron.allow
/etc/cron.deny
----------------------------------------------------------------
Création de deux fichier log le start et stop pour calculer le temps de début et la fin, tres pratique pour les sauvgardes.
* * * * * root touch /tmp/start.log && echo "$(date)" >> /tmp/youness.txt && touch /tmp/stop.log