issue70:tutoriel_cron
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue70:tutoriel_cron [2013/05/25 21:31] – [10] fredphil91 | issue70: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' | + | 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' |
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. | ||
- | Les utilisateurs expérimentés reconnaîtront qu'il s'agit d'une description de Cron, pré-installé sur pratiquement toutes les machines Linux. L' | + | Les utilisateurs expérimentés reconnaîtront qu'il s'agit d'une description de cron, pré-installé sur pratiquement toutes les machines Linux. L' |
Chaque utilisateur définit sa programmation via un « crontab » qui peut être affiché ou modifié via la commande crontab. Nous pouvons afficher notre crontab avec la commande crontab -l : | Chaque utilisateur définit sa programmation via un « crontab » qui peut être affiché ou modifié via la commande crontab. Nous pouvons afficher notre crontab avec la commande crontab -l : | ||
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 crontab | + | 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' |
- | Cron est un démon qui tourne en tâche de fond, et 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' | + | Remarque : vos commandes seront exécutées avec vos privilèges d' |
- | 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. |
====== 3 ====== | ====== 3 ====== | ||
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, | 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, | ||
- | Chacun est généralement un certain nombre d' | + | Chacun est généralement un certain nombre d' |
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 69: | Ligne 69: | ||
Minute de l' | Minute de l' | ||
- | 2ème champ | + | 2e champ |
Heure de la journée (0 - 23) | Heure de la journée (0 - 23) | ||
- | 3ème champ | + | 3e champ |
Jour du mois (1 - 31) | Jour du mois (1 - 31) | ||
- | 4ème champ | + | 4e champ |
Mois de l' | Mois de l' | ||
- | 5ème 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 |
====== 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 souhaitez | + | Supposons que vous souhaitiez |
*/10 * * * * [ -x .whatip.sh ] && bash .whatip.sh 2>/ | */10 * * * * [ -x .whatip.sh ] && bash .whatip.sh 2>/ | ||
- | Cela s' | + | Cela s' |
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' | 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' | ||
Ligne 129: | Ligne 129: | ||
0 1 28-31 * * un-script | 0 1 28-31 * * un-script | ||
- | serait appropriée | + | serait appropriée, avec un script qui prévoit une sortie précoce si ce n'est pas réellement le dernier jour du mois. |
====== 7 ====== | ====== 7 ====== | ||
Ligne 144: | Ligne 144: | ||
Modification du crontab : en utilisant la commande crontab -e. | Modification du crontab : en utilisant la commande crontab -e. | ||
- | Ceci n' | + | Ceci n' |
- | Vous avez toujours des touches telles que Inser, Suppr, | + | Vous avez toujours des touches telles que Inser, Suppr, |
- | Les touches de fonction sont listés | + | Les touches de fonction sont listées |
Faites défiler jusqu' | Faites défiler jusqu' | ||
Ligne 171: | Ligne 171: | ||
Si vous souhaitez désactiver une spécification de crontab, commentez-la en insérant un # en début de ligne. | Si vous souhaitez désactiver une spécification de crontab, commentez-la en insérant un # en début de ligne. | ||
- | Il est assez difficile de trouver une ligne de crontab qui fait un travail utile, sans le transformer en un script | + | Il est assez difficile de trouver une ligne de crontab qui fasse un travail utile, sans le transformer en un script, mais j'ai un bon exemple (le mérite en revient à un auteur inconnu). |
====== 9 ====== | ====== 9 ====== | ||
Ligne 186: | Ligne 186: | ||
find ~/ | find ~/ | ||
- | D' | + | D' |
Pour vérifier si vous avez un problème, entrez la commande suivante : | Pour vérifier si vous avez un problème, entrez la commande suivante : | ||
Ligne 192: | Ligne 192: | ||
du -sbh .thumbnails | du -sbh .thumbnails | ||
- | Je reçois une valeur de 20M soit 20 Mo (cela représente environ | + | Je reçois une valeur de 20M soit 20 Mo (cela représente environ |
La solution : chaque jour, j' | La solution : chaque jour, j' | ||
Ligne 219: | Ligne 219: | ||
find ~/ | find ~/ | ||
- | Remarquez | + | Remarquez le remplacement de la commande rm par la commande ls. |
Une fois que vous êtes satisfait de l' | Une fois que vous êtes satisfait de l' | ||
Ligne 228: | Ligne 228: | ||
====== 11 ====== | ====== 11 ====== | ||
- | If you have multiple users, you will need to repeat for each one. | + | **If you have multiple users, you will need to repeat for each one. |
Your crontab is actually stored in a sub-directory of the /var directory – so a system upgrade where you choose to replace all your system files (even if you retain your /home directory) will cause your crontabs to be lost. However, it is important that you edit your crontab only via the crontab command, as this incorporates some important error checking. | Your crontab is actually stored in a sub-directory of the /var directory – so a system upgrade where you choose to replace all your system files (even if you retain your /home directory) will cause your crontabs to be lost. However, it is important that you edit your crontab only via the crontab command, as this incorporates some important error checking. | ||
Ligne 234: | Ligne 234: | ||
Excursionary note | Excursionary note | ||
- | If you have not performed an install which involved overwriting your /home directory in the last year or two, then the thumbnail removal entry may work slightly differently – but the difference is marginal and rather historical. | + | If you have not performed an install which involved overwriting your /home directory in the last year or two, then the thumbnail removal entry may work slightly differently – but the difference is marginal and rather historical.** |
+ | |||
+ | Si vous avez plusieurs utilisateurs, | ||
+ | |||
+ | Votre crontab est en fait stocké dans un sous-répertoire du répertoire /var - donc une mise à niveau du système où vous choisissez de remplacer tous vos fichiers système (même si vous conservez votre répertoire /home) entraînera la perte de votre crontab. Cependant, il est important de modifier votre crontab seulement via la commande crontab, car elle contient une vérification d' | ||
+ | |||
+ | Remarque en passant | ||
+ | |||
+ | Si vous n'avez pas effectué une installation qui écrase votre répertoire /home depuis un an ou deux, la suppression des vignettes peut fonctionner un peu différemment - mais la différence est marginale et plutôt historique. | ||
====== 12 ====== | ====== 12 ====== | ||
- | Originally, in addition to setting creation and modification timestamps on files, Linux always recorded file access timestamps (this is the -atime in our crontab entry). This can be inefficient, | + | **Originally, in addition to setting creation and modification timestamps on files, Linux always recorded file access timestamps (this is the -atime in our crontab entry). This can be inefficient, |
- | Note that frequently accessed directories would always be looked at more often than every 7 days and so (under the old scheme), their thumbnails would never be deleted. Under the new scheme, atime is never updated, and so even these thumbnails would be deleted and very quickly recreated every 7 days. It's not a noticeable problem for thumbnails – although I understand one or two older applications find the atime change to be a problem. | + | Note that frequently accessed directories would always be looked at more often than every 7 days and so (under the old scheme), their thumbnails would never be deleted. Under the new scheme, atime is never updated, and so even these thumbnails would be deleted and very quickly recreated every 7 days. It's not a noticeable problem for thumbnails – although I understand one or two older applications find the atime change to be a problem.** |
+ | |||
+ | À l' | ||
+ | |||
+ | Notez que les répertoires fréquemment utilisés seront toujours consultés plus souvent que tous les 7 jours et ainsi (avec l' | ||
====== 13 ====== | ====== 13 ====== | ||
- | To check your setting enter: | + | **To check your setting enter: |
cat /etc/fstab | grep /home | cat /etc/fstab | grep /home | ||
Ligne 254: | Ligne 266: | ||
(My /home is mounted as ext3 – yours is probably ext4). | (My /home is mounted as ext3 – yours is probably ext4). | ||
- | I have manually changed /etc/fstab to mount everything as noatime – which means no access timestamps are updated, just like the modern default. If you don't see noatime listed, or you see atime in its place, you should consider modifying your fstab file to use the noatime option unless there is a special reason not to. | + | I have manually changed /etc/fstab to mount everything as noatime – which means no access timestamps are updated, just like the modern default. If you don't see noatime listed, or you see atime in its place, you should consider modifying your fstab file to use the noatime option unless there is a special reason not to.** |
+ | |||
+ | Pour vérifier vos paramètres, | ||
+ | |||
+ | cat /etc/fstab | grep /home | ||
+ | |||
+ | dans un écran de terminal ; ça m' | ||
+ | |||
+ | # /home was on /dev/sda7 during installation | ||
+ | |||
+ | UUID=0648d2d1-9a41-4257-8b79-dfc7bc227e82 /home ext3 defaults, | ||
+ | |||
+ | (mon /home est monté en ext3 - le vôtre est probablement ext4). | ||
+ | |||
+ | J'ai changé manuellement le fichier /etc/fstab pour monter tout en noatime, ce qui signifie pas d' |
issue70/tutoriel_cron.1369510311.txt.gz · Dernière modification : 2013/05/25 21:31 de fredphil91