Commandes programmees at et crontab

Transcription

Commandes programmees at et crontab
Commandes programmées sous Unix : at et crontab
http://dpobel.free.fr/man/
Commande at (et commandes associées)
at et batch lisent, depuis l'entrée standard, ou depuis un
fichier, des commandes qu'ils exécuteront ultérieurement,
en utilisant /bin/sh.
at
atq
atrm
batch
lance les commandes indiquées à une heure précise.
affiche
la
liste
des commandes en attente
d'exécution, sauf si l'appelant est le Super-Util
isateur. Dans ce dernier cas, atq affiche la liste
des travaux en attente pour tous les utilisateurs.
efface les travaux en attente.
exécute les commandes indiquées lorsque la charge
système le permet, c'est à dire lorsque la charge
du
processeur,
obtenue
depuis
le
fichier
/proc/loadavg descend en dessous de 1,5
par
défaut, ou en dessous d'une valeur mentionnée
explicitement durant l'invocation de atrun.
Service cron
Cron devrait normallement être lancé par un script /etc/rc
ou /etc/rc.local.
Cron recherche dans le répertoire /var/spool/cron, des
fichiers
de
crontab ayant des noms existants dans
/etc/passwd. Les fichiers trouvés sont chargés en mémoire.
Cron recherche également /etc/crontab, qui a un format
différent (voir crontab(5)).
Ensuite, cron s'éveille toutes les minutes, examine les
crontabs mémorisés, et vérifie chaque commande pour savoir
s'il doit la lancer dans la minute à venir.
Lors de
l'exécution d'une commande, toute sortie est envoyée par
mail au propriétaire de la crontab (ou à l'utilisateur
dont le nom est mentionné dans la variable d'environnement
MAILTO si elle existe).
Commande crontab
Crontab est le programme utilisé pour installer, désin
staller, ou afficher le contenu des tables permettant de
piloter le fonctionnement du démon cron(8) de Vixie Cron.
Chaque utilisateur dispose de sa propre table crontab,dans /var.
Options :
-l
-r
-e
permet d'imprimer la table crontab en cours.
supprime la table crontab en cours.
permet d'éditer la table en cours.
Utilisateurs autorisés: allow et deny dans /var/spool/cron
Si le fichier allow existe, alors vous devez être men
tionnés dans celui-ci pour pouvoir utiliser cette com
mande. Si le fichier allow n'existe pas, mais que le
fichier deny existe, alors vous ne devez pas être men
tionnés dans celui-ci, pour utiliser cette commande.
Tâches programmées
1/4
At via webmin/système
Tâches programmées
2/4
Crontab
via
webmin/système
Tâches programmées
3/4
Annexe crontab
Comment supprimer les mails envoyés par crontab?
Voir dans man 5 crontab :
En plus de LOGNAME, HOME, et SHELL, cron(8) prendra en compte la variable MAILTO
s'il doit envoyer le résultat d'une commande exécutée dans cette crontab. Si MAILTO
est définie (et non vide), le résultat est envoyé à l'utilisateur indiqué. Si
MAILTO est défini et vide (MAILTO=""), aucun courrier ne sera envoyé. Sinon, le
courrier sera émis vers le propriétaire de la crontab.
Pour la définition de la variable MAILTO, on pourra utiliser la procédure
suivante :
•
•
•
•
•
•
Créer une entrée crontab pour l'utilisateur info, à l'aide de webmin/système/tâches cron; la
commande à exécuter à intervalles réguliers est fetchmail.
Se connecter par telnet sur le serveur SME, et mode superviseur
Taper la commande su - info pour acquérir (sans mot de passe) l'environnement de
l'utilisateur info
Taper la commande crontab -e
on entre alors dans une commande vi pour modification des tâches cyclique de l'utilisateur
info
Taper i pour entrer en mode insertion sous vi
Ajouter la ligne de définition de la variable MAILTO au début du fichier, on devrait avoir
quelque chose qui ressemble à ceci :
MAILTO=""
* * * * * echo%~ptregouet/cron.test
~
~
•
taper Echap pour sortir du mode insertion de vi
taper : wq pour enregistrer et quitter
On a alors un message de confirmation de crontab :
•
"crontab.3099" 2L, 46C written
crontab: installing new crontab
Fermer la fenêtre telnet
•
•
Remarque :
On peut spécifier à crontab d'utiliser un autre éditeur que vi en définissant la variable
EDITOR, par exemple export EDITOR=pico permettrait de lancer pico au lieu de vi pour
éditer la table des tâches programmées.
Tâches programmées
4/4