diff --git a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.json b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.json deleted file mode 100644 index 60723e4..0000000 --- a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "title": "crontab", - "_updated_at": "2026-05-16 21:21:51", - "slug": "cron", - "published": true, - "published_at": "2023-02-18 16:06", - "category": "Informatique", - "tags": [], - "seo_title": "", - "seo_description": "" -} diff --git a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.md b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.md deleted file mode 100644 index 76ca849..0000000 --- a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.md +++ /dev/null @@ -1,116 +0,0 @@ -# crontab - -![Nom de la section](dummy.png) - -**cron** est un démon Unix qui exécute, chaque minute, les tâches planifiées par les utilisateurs. La commande **crontab** (contraction de *chrono table*, « table de planification ») permet de consulter et modifier ces tâches. - -Chaque utilisateur dispose de sa propre table ; le démon `cron`, lancé par **root**, exécute chaque tâche sous l'identité de son propriétaire. - -## Format d'une ligne - -Chaque ligne d'une crontab suit le format suivant : - -``` -mm hh jj MMM JJJ commande -``` - -| Champ | Plage | Description | -| ----- | ----- | ----------- | -| `mm` | 0–59 | Minute | -| `hh` | 0–23 | Heure | -| `jj` | 1–31 | Jour du mois | -| `MMM` | 1–12 | Mois | -| `JJJ` | 0–6 | Jour de la semaine (0 = dimanche) | - -## Lister les tâches - -Afficher la table de l'utilisateur connecté : - -``` -crontab -l -``` - -## Mots-clés - -Plusieurs mots-clés peuvent remplacer le code horaire : - -| Mot-clé | Description | Équivalent | -| ------- | ----------- | ---------- | -| `@reboot` | Au démarrage | (aucun) | -| `@yearly` | Tous les ans | `0 0 1 1 *` | -| `@annually` | Tous les ans | `0 0 1 1 *` | -| `@monthly` | Tous les mois | `0 0 1 * *` | -| `@weekly` | Toutes les semaines | `0 0 * * 0` | -| `@daily` | Tous les jours | `0 0 * * *` | -| `@midnight` | Toutes les nuits | `0 0 * * *` | -| `@hourly` | Toutes les heures | `0 * * * *` | - -## Éditer la table - -Ouvrir la crontab de l'utilisateur connecté dans l'éditeur par défaut : - -``` -crontab -e -``` - -L'éditeur utilisé peut être modifié via la variable d'environnement `EDITOR` : - -``` -$ export EDITOR=nano -``` - -## Supprimer la table - -``` -crontab -r -``` - -## Remplacer la table - -Remplacer la table courante par le contenu d'un fichier : - -``` -crontab -``` - -## Rediriger les sorties - -Par défaut, la sortie standard d'une tâche `cron` est envoyée par mail à son propriétaire. Pour la rediriger, on utilise la syntaxe shell habituelle : - -``` -mm hh jj MMM JJJ tâche > fichier1 2> fichier2 -``` - -- `fichier1` reçoit la sortie standard -- `fichier2` reçoit l'erreur standard - -Pour ignorer toute sortie : - -``` ->/dev/null 2>&1 -``` - -## Inspecter l'activité - -Afficher la date du dernier accès au script de `cron` (indicateur approximatif d'activité) : - -``` -ls -lut /etc/init.d/cron -``` - -Extraire les lignes relatives à `cron` dans le journal système : - -``` -grep -w cron /var/log/syslog -``` - -## Pour aller plus loin - -Les tables sont stockées dans un fichier propre à chaque utilisateur : - -- `/var/spool/cron/crontabs/` sous Debian, MX Linux -- `/var/spool/cron/` sous Red Hat, Fedora et CentOS - -Une table système centralisée existe également dans `/etc/crontab`. - -Pour les postes qui ne restent pas allumés en permanence, l'utilitaire **anacron** prend le relais : il exécute, au démarrage, les tâches qui auraient dû tourner pendant que la machine était éteinte. \ No newline at end of file diff --git a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/index.md b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/index.md index 8a00d82..76ca849 100644 --- a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/index.md +++ b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/index.md @@ -1,87 +1,116 @@ # crontab ![Nom de la section](dummy.png) -Programme Unix qui exécute toutes les minutes un ensemble de taches prédéterminées. -Sous Linux, le programme **cron** s'appelle **crontab**, concaténation de **c**h**ron**o **tab**le, "table de planification". Il est exécuté par **root** et permet de s'adapter à l'identité à chacun des utilisateurs. +**cron** est un démon Unix qui exécute, chaque minute, les tâches planifiées par les utilisateurs. La commande **crontab** (contraction de *chrono table*, « table de planification ») permet de consulter et modifier ces tâches. -## - Liste la table des tâches -Afficher la liste des tâches pour l'utilisateur connecté +Chaque utilisateur dispose de sa propre table ; le démon `cron`, lancé par **root**, exécute chaque tâche sous l'identité de son propriétaire. + +## Format d'une ligne + +Chaque ligne d'une crontab suit le format suivant : + +``` +mm hh jj MMM JJJ commande +``` + +| Champ | Plage | Description | +| ----- | ----- | ----------- | +| `mm` | 0–59 | Minute | +| `hh` | 0–23 | Heure | +| `jj` | 1–31 | Jour du mois | +| `MMM` | 1–12 | Mois | +| `JJJ` | 0–6 | Jour de la semaine (0 = dimanche) | + +## Lister les tâches + +Afficher la table de l'utilisateur connecté : ``` crontab -l ``` -## - Mots clés -Des mots-clé peuvent remplacer le code horaire. +## Mots-clés -| mot-clé | description | équivalent | +Plusieurs mots-clés peuvent remplacer le code horaire : + +| Mot-clé | Description | Équivalent | | ------- | ----------- | ---------- | -| @reboot | Au démarrage | Aucun | -| @yearly | Tous les ans | 0 0 1 1 * | -| @annually | Tous les ans | 0 0 1 1 * | -| @monthly | Tous les mois | 0 0 1 * * | -| @weekly | Toutes les semaines | 0 0 * * 0 | -| @daily | Tous les jours | 0 0 * * * | -| @midnight | Toutes les nuits | 0 0 * * * | -| @hourly | Toutes les heures | 0 * * * * | +| `@reboot` | Au démarrage | (aucun) | +| `@yearly` | Tous les ans | `0 0 1 1 *` | +| `@annually` | Tous les ans | `0 0 1 1 *` | +| `@monthly` | Tous les mois | `0 0 1 * *` | +| `@weekly` | Toutes les semaines | `0 0 * * 0` | +| `@daily` | Tous les jours | `0 0 * * *` | +| `@midnight` | Toutes les nuits | `0 0 * * *` | +| `@hourly` | Toutes les heures | `0 * * * *` | -## - Éditer la tables des tâches -Éditer la liste des tâches pour l'utilisateur connecté +## Éditer la table + +Ouvrir la crontab de l'utilisateur connecté dans l'éditeur par défaut : ``` crontab -e ``` -L'éditeur par défaut est exécuté pour éditer la table des tâches. Il est modifiable grâce à la variable d'environnement : +L'éditeur utilisé peut être modifié via la variable d'environnement `EDITOR` : + ``` $ export EDITOR=nano ``` -## - Supprimer la tables des tâches -Supprimer la liste des tâches pour l'utilisateur connecté +## Supprimer la table ``` crontab -r ``` -## - Remplacer la tables des tâches -Remplacer la liste des tâches pour l'utilisateur connecté par une nouvelle table contenu dans `` +## Remplacer la table + +Remplacer la table courante par le contenu d'un fichier : ``` crontab ``` -## - Journalisation -La sortie standard pour une tache **cron** est l'envoi d'un mail. Pour modifier la sortie, il faut utiliser la syntaxe suivante : +## Rediriger les sorties + +Par défaut, la sortie standard d'une tâche `cron` est envoyée par mail à son propriétaire. Pour la rediriger, on utilise la syntaxe shell habituelle : ``` -mm hh jj MMM JJJ tâche > fichier1 2> fichier2 +mm hh jj MMM JJJ tâche > fichier1 2> fichier2 ``` -- `fichier1` contient la sortie standard -- `fichier2` contient l'erreur standard +- `fichier1` reçoit la sortie standard +- `fichier2` reçoit l'erreur standard + +Pour ignorer toute sortie : -Par exemple, pour ne rien afficher : ``` >/dev/null 2>&1 ``` -**Afficher l'horaire de la dernière tâche exécutée** pour l'ensemble des utilisateurs : +## Inspecter l'activité + +Afficher la date du dernier accès au script de `cron` (indicateur approximatif d'activité) : + ``` ls -lut /etc/init.d/cron ``` -**Extraire du journal du système** les informations concernant la table **cron** : +Extraire les lignes relatives à `cron` dans le journal système : + ``` grep -w cron /var/log/syslog ``` -## - + d'infos -Les informations de planification sont stockées dans un fichier relatif à l'utilisateur. Par exemple : +## Pour aller plus loin + +Les tables sont stockées dans un fichier propre à chaque utilisateur : + - `/var/spool/cron/crontabs/` sous Debian, MX Linux -- `/var/spool/cron/` sous Red Hat, Fedora et Cent OS +- `/var/spool/cron/` sous Red Hat, Fedora et CentOS -En plus, il existe un table cron centralisée dans `/etc/crontab`. +Une table système centralisée existe également dans `/etc/crontab`. -Pour un poste de travail ne fonctionnant pas forcément toute une journée, l'application **anacron** permet de lancer les commandes qui dû l'être lorsque l'ordinateur était éteint. \ No newline at end of file +Pour les postes qui ne restent pas allumés en permanence, l'utilitaire **anacron** prend le relais : il exécute, au démarrage, les tâches qui auraient dû tourner pendant que la machine était éteinte. \ No newline at end of file diff --git a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/meta.json b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/meta.json index 9b1ba5a..73cb525 100644 --- a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/meta.json +++ b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/meta.json @@ -4,15 +4,24 @@ "title": "crontab", "author": "cedric@abonnel.fr", "published": true, - "published_at": "2023-02-18 16:06:22", + "featured": false, + "published_at": "2023-02-18 16:06", "created_at": "2023-02-18 16:06:22", - "updated_at": "2023-02-18 16:06:22", - "revisions": [], + "updated_at": "2026-05-16 21:21:52", + "revisions": [ + { + "n": 1, + "date": "2026-05-16 21:21:52", + "comment": "Contenu modifié", + "title": "crontab" + } + ], "cover": "", "files_meta": [], "external_links": [], "seo_title": "", "seo_description": "", "og_image": "", - "category": "Informatique" + "category": "Informatique", + "tags": [] } diff --git a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/revisions/0001.md b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/revisions/0001.md new file mode 100644 index 0000000..8a00d82 --- /dev/null +++ b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/revisions/0001.md @@ -0,0 +1,87 @@ +# crontab + +![Nom de la section](dummy.png) +Programme Unix qui exécute toutes les minutes un ensemble de taches prédéterminées. + +Sous Linux, le programme **cron** s'appelle **crontab**, concaténation de **c**h**ron**o **tab**le, "table de planification". Il est exécuté par **root** et permet de s'adapter à l'identité à chacun des utilisateurs. + +## - Liste la table des tâches +Afficher la liste des tâches pour l'utilisateur connecté + +``` +crontab -l +``` + +## - Mots clés +Des mots-clé peuvent remplacer le code horaire. + +| mot-clé | description | équivalent | +| ------- | ----------- | ---------- | +| @reboot | Au démarrage | Aucun | +| @yearly | Tous les ans | 0 0 1 1 * | +| @annually | Tous les ans | 0 0 1 1 * | +| @monthly | Tous les mois | 0 0 1 * * | +| @weekly | Toutes les semaines | 0 0 * * 0 | +| @daily | Tous les jours | 0 0 * * * | +| @midnight | Toutes les nuits | 0 0 * * * | +| @hourly | Toutes les heures | 0 * * * * | + +## - Éditer la tables des tâches +Éditer la liste des tâches pour l'utilisateur connecté + +``` +crontab -e +``` + +L'éditeur par défaut est exécuté pour éditer la table des tâches. Il est modifiable grâce à la variable d'environnement : +``` +$ export EDITOR=nano +``` + +## - Supprimer la tables des tâches +Supprimer la liste des tâches pour l'utilisateur connecté + +``` +crontab -r +``` + +## - Remplacer la tables des tâches +Remplacer la liste des tâches pour l'utilisateur connecté par une nouvelle table contenu dans `` + +``` +crontab +``` + +## - Journalisation +La sortie standard pour une tache **cron** est l'envoi d'un mail. Pour modifier la sortie, il faut utiliser la syntaxe suivante : + +``` +mm hh jj MMM JJJ tâche > fichier1 2> fichier2 +``` + +- `fichier1` contient la sortie standard +- `fichier2` contient l'erreur standard + +Par exemple, pour ne rien afficher : +``` +>/dev/null 2>&1 +``` + +**Afficher l'horaire de la dernière tâche exécutée** pour l'ensemble des utilisateurs : +``` +ls -lut /etc/init.d/cron +``` + +**Extraire du journal du système** les informations concernant la table **cron** : +``` +grep -w cron /var/log/syslog +``` + +## - + d'infos +Les informations de planification sont stockées dans un fichier relatif à l'utilisateur. Par exemple : +- `/var/spool/cron/crontabs/` sous Debian, MX Linux +- `/var/spool/cron/` sous Red Hat, Fedora et Cent OS + +En plus, il existe un table cron centralisée dans `/etc/crontab`. + +Pour un poste de travail ne fonctionnant pas forcément toute une journée, l'application **anacron** permet de lancer les commandes qui dû l'être lorsque l'ordinateur était éteint. \ No newline at end of file