Outils pour utilisateurs

Outils du site


issue70:tutoriel_cron

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue70:tutoriel_cron [2013/05/25 23:43] andre_domenechissue70:tutoriel_cron [2013/05/26 14:24] (Version actuelle) – [12] auntiee
Ligne 8: Ligne 8:
 Each user specifies their schedule via a “crontab” which can be listed or edited via the crontab command. We can list our crontab with the crontab -l command:** Each user specifies their schedule via a “crontab” which can be listed or edited via the crontab command. We can list our crontab with the crontab -l command:**
  
-C'est très facile à mettre en place - même si, plus tard, je vais utiliser un exemple un peu compliqué pour illustrer l'utilisation.+C'est très facile à mettre en place - même si, plus tard, je vais utiliser un exemple un peu compliqué pour en illustrer l'utilisation.
  
 Si vous avez plusieurs utilisateurs configurés sur votre machine, chaque utilisateur a sa propre programmation indépendante qu'il peut configurer. Si vous avez plusieurs utilisateurs configurés sur votre machine, chaque utilisateur a sa propre programmation indépendante qu'il peut configurer.
Ligne 25: Ligne 25:
 There are 5 fields to specify the date – and the formats can be made quite complicated.** There are 5 fields to specify the date – and the formats can be made quite complicated.**
  
-Vous trouverez toujours ces commentaires descriptifs dans votre crontabet vous devez les conserver. Pour personnaliser votre crontab, vous devez ajouter une (ou plusieurs) lignes contenant des informations d'horodatage et une commande (ou un script) à exécuter.+Vous trouverez toujours ces commentaires descriptifs dans votre crontab et vous devez les conserver. Pour personnaliser votre crontab, vous devez ajouter une (ou plusieurs) lignes contenant des informations d'horodatage et une commande (ou un script) à exécuter.
  
-Cron est un démon qui tourne en tâche de fondet qui exécutera vos commandes au moment approprié.+Cron est un démon qui tourne en tâche de fond et qui exécutera vos commandes au moment approprié.
  
-Remarque : vos commandes seront exécutées avec vos privilèges d'utilisateuril n'est pas possible d'obtenir des privilèges élevés en utilisant sudo, etc.+Remarque : vos commandes seront exécutées avec vos privilèges d'utilisateur il n'est pas possible d'obtenir des privilèges élevés en utilisant sudo, etc.
  
 Il y a 5 champs pour préciser la date, et les formats peuvent être rendus assez compliqués. Il y a 5 champs pour préciser la date, et les formats peuvent être rendus assez compliqués.
Ligne 44: Ligne 44:
 Le séparateur entre chacun des cinq champs est toujours un ou plusieurs espaces (ou des tabulations). Chaque champ peut contenir des spécifications complexes telles que 1-5,10-15 (mais ce sont généralement soit un astérisque, soit un seul nombre). Les traits d'union et les virgules ne sont pas des séparateurs de champ. Le séparateur entre chacun des cinq champs est toujours un ou plusieurs espaces (ou des tabulations). Chaque champ peut contenir des spécifications complexes telles que 1-5,10-15 (mais ce sont généralement soit un astérisque, soit un seul nombre). Les traits d'union et les virgules ne sont pas des séparateurs de champ.
  
-Chacun est généralement un certain nombre d'unités. Ainsi par exemple 2,4,6 signifie une exécution à 2 unités, 4 unités et 6 unités. Une autre variante est 2-5, qui est la même chose que 2,3,4,5. Si nous voulons une exécution à chaque occasion valide, nous devons indiquer *. Écrire quelque chose comme */10 signifie une exécution une fois toutes les 10 unités (donc */10 dans le domaine des minutes signifie à 00,10,20,30,40,50 minutes après l'heure).+Chacun est généralement un certain nombre d'unités. Ainsi par exemple 2,4,6 signifie une exécution à 2 unités, 4 unités et 6 unités. Une autre variante est 2-5, qui est la même chose que 2,3,4,5. Si nous voulons une exécution à chaque occasion valide, nous devons l'indiquer avec *. Écrire quelque chose comme */10 signifie une exécution une fois toutes les 10 unités (donc */10 dans le domaine des minutes signifie à 00,10,20,30,40,50 minutes après l'heure).
  
 Nous pouvons également utiliser des noms dans les champs où cela a un sens. Nous pouvons également utiliser des noms dans les champs où cela a un sens.
Ligne 79: Ligne 79:
  
 5e champ 5e champ
-Jour de la semaine (0 - 7 ; 0 et 7 signifient dimanche ; ou des noms: mon, tue, wed, etc.)+Jour de la semaine (0 - 7 ; 0 et 7 signifient tous les deux dimanche ; ou des noms: mon, tue, wed, etc.)
  
 ====== 5 ====== ====== 5 ======
Ligne 119: Ligne 119:
 would be suitable – with the script making an early exit if it isn't actually the very last day of the month.** would be suitable – with the script making an early exit if it isn't actually the very last day of the month.**
  
-Supposons que vous souhaitiez enregistrer les journaux (log) avec une très mauvaise connexion, en utilisant un script écrit par l'utilisateur nommé .whatip.sh qui est un fichier (caché) dans le répertoire racine, vous pouvez exécuter la commande suivante :+Supposons que vous souhaitiez enregistrer dans les journaux (log) les problèmes avec une très mauvaise connexion, en utilisant un script écrit par l'utilisateur nommé .whatip.sh qui est un fichier (caché) dans le répertoire racine, vous pouvez exécuter la commande suivante :
  
 */10 * * * * [ -x .whatip.sh ] && bash .whatip.sh 2>/dev/null */10 * * * * [ -x .whatip.sh ] && bash .whatip.sh 2>/dev/null
  
-Cela s'exécute toutes les 10 minutes. La commande [ -x .whatip.sh ] teste si le fichier exécutable existeet seulement si c'est le cas le && permet l'exécution du script (qui écrit dans un fichier de log) ; le 2>/dev/null permet d'ignorer tous les affichages écran.+Cela s'exécute toutes les 10 minutes. La commande [ -x .whatip.sh ] teste si le fichier exécutable existe etseulement si c'est le casle && permet l'exécution du script (qui écrit dans un fichier de log) ; le 2>/dev/null permet d'ignorer tous les affichages écran.
  
 Malgré la richesse des possibilités pour spécifier les heures auxquelles une commande doit être exécutée, il y a certaines spécifications qui ne peuvent pas être facilement indiquées, comme « exécuter le dernier jour du mois ». Pour de tels cas, une programmation d'exécution telle que : Malgré la richesse des possibilités pour spécifier les heures auxquelles une commande doit être exécutée, il y a certaines spécifications qui ne peuvent pas être facilement indiquées, comme « exécuter le dernier jour du mois ». Pour de tels cas, une programmation d'exécution telle que :
Ligne 144: Ligne 144:
 Modification du crontab : en utilisant la commande crontab -e. Modification du crontab : en utilisant la commande crontab -e.
  
-Ceci n'utilisera sans doute pas votre éditeur normal, comme gedit, mais un plus basique, comme nano. C'est parfait pour éditer les fichiers de configuration et travailler dans un environnement non graphique.+Ceci n'utilisera sans doute pas votre éditeur normal, comme gedit, mais un plus basique, comme nano. C'est tout à fait suffisant pour éditer les fichiers de configuration et travailler dans un environnement non graphique.
  
-Vous avez toujours des touches telles que Inser, Suppr, Effacer le caractère précédent. La navigation (haut, bas, etc.) se fait via les touches fléchées ainsi que page précédente et page suivante. Cependant, vous n'avez pas de barres de défilement d'aucune sorte.+Vous avez toujours des touches telles que Inser, Suppr, Retour arrière. La navigation (haut, bas, etc.) se fait via les touches fléchées ainsi que page précédente et page suivante. Cependant, vous n'avez pas de barres de défilement d'aucune sorte.
  
 Les touches de fonction sont listées en bas, mais vous n'avez besoin que de deux d'entre elles. Les touches de fonction sont listées en bas, mais vous n'avez besoin que de deux d'entre elles.
Ligne 251: Ligne 251:
 À l'origine, en plus de tracer l'horodatage de création et de modification sur les fichiers, Linux enregistrait toujours l'horodatage d'accès aux fichiers (c'est le -atime dans notre ligne crontab). Cela peut être inefficace, puisque la lecture d'un fichier provoquait toujours une écriture supplémentaire (pour mettre à jour l'horodatage d'accès). Il est maintenant possible d'indiquer que vous ne voulez pas de mises à jour atime, et c'est le réglage par défaut actuel. À l'origine, en plus de tracer l'horodatage de création et de modification sur les fichiers, Linux enregistrait toujours l'horodatage d'accès aux fichiers (c'est le -atime dans notre ligne crontab). Cela peut être inefficace, puisque la lecture d'un fichier provoquait toujours une écriture supplémentaire (pour mettre à jour l'horodatage d'accès). Il est maintenant possible d'indiquer que vous ne voulez pas de mises à jour atime, et c'est le réglage par défaut actuel.
  
-Notez que les répertoires fréquemment utilisés seront toujours consultés plus souvent que tous les 7 jours et ainsi (avec l'ancien système), les vignettes ne seraient jamais supprimées. Avec le nouveau système, atime n'est jamais mis à jour, et ainsi même ces vignettes seraient supprimées et très rapidement recréées tous les 7 jours. Ce n'est pas un problème perceptible pour les vignettes - même si je comprends qu'une ou deux applications anciennes trouvent que le changement du atime est un problème.+Notez que les répertoires fréquemment utilisés seront toujours consultés plus souvent que tous les 7 jours et ainsi (avec l'ancien système), les vignettes ne seraient jamais supprimées. Avec le nouveau système, atime n'est jamais mis à jour ainsimême ces vignettes seraient supprimées et très rapidement recréées tous les 7 jours. Ce n'est pas un problème perceptible pour les vignettes - même si je comprends qu'une ou deux applications anciennes trouvent que le changement du atime est un problème.
  
 ====== 13 ====== ====== 13 ======
issue70/tutoriel_cron.1369518192.txt.gz · Dernière modification : 2013/05/25 23:43 de andre_domenech