From a03dd38fe7406e12859aa70c7929f0900de1d5a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Sat, 16 May 2026 23:21:32 +0200 Subject: [PATCH] draft: crontab --- .stats_cache.json | 2 +- .../draft_overlay.json | 4 + .../draft_overlay.md | 116 ++++++++++++++++++ 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.json create mode 100644 daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.md diff --git a/.stats_cache.json b/.stats_cache.json index f01416f..2672249 100644 --- a/.stats_cache.json +++ b/.stats_cache.json @@ -1 +1 @@ -{"readable":true,"books":{"\/book\/esp":5,"\/book\/les-commandes-linux":4,"\/book\/linux-architecture-des-dossiers":3,"\/book\/la-domotique-chez-soi":2},"as":[{"asn":"","name":"LAN","country":"","hits":13041},{"asn":"8075","name":"Cloud","country":"US","hits":844},{"asn":"14618","name":"AWS EC2 (us-east-1)","country":"US","hits":433},{"asn":"24940","name":"Hetzner","country":"FI","hits":396},{"asn":"32934","name":"Meta Platforms Ireland Limited","country":"US","hits":254},{"asn":"16276","name":"OVH","country":"FR","hits":150},{"asn":"15169","name":"Google LLC","country":"US","hits":87},{"asn":"48230","name":"LLC MONOLITH.NET","country":"UA","hits":83},{"asn":"36352","name":"HostPapa","country":"US","hits":18},{"asn":"12322","name":"ProXad network \/ Free","country":"FR","hits":15},{"asn":"174","name":"Code 200, UAB","country":"FR","hits":12},{"asn":"18779","name":"EGIHosting","country":"US","hits":10},{"asn":"46261","name":"BraveWay","country":"US","hits":10},{"asn":"3209","name":"Vodafone Kabel Deutschland GmbH","country":"DE","hits":9},{"asn":"51207","name":"Free Mobile","country":"FR","hits":7},{"asn":"16509","name":"Anthropic, PBC","country":"US","hits":7},{"asn":"29695","name":"Lyse Tele AS","country":"NO","hits":5},{"asn":"41281","name":"KeFF Networks Ltd","country":"SE","hits":5},{"asn":"9443","name":"Vocus Retail","country":"AU","hits":5},{"asn":"45102","name":"Alibaba.com LLC","country":"SG","hits":5},{"asn":"37054","name":"Telma Madagascar","country":"MG","hits":4},{"asn":"396982","name":"Google Cloud (us-east5)","country":"US","hits":4},{"asn":"209366","name":"Crawlers","country":"US","hits":4},{"asn":"58087","name":"Datalix","country":"DE","hits":4},{"asn":"210743","name":"Babbar SAS","country":"FR","hits":4},{"asn":"132203","name":"Tencent Cloud Computing","country":"DE","hits":2},{"asn":"136907","name":"Huawei Cloud","country":"SG","hits":2},{"asn":"51167","name":"Contabo GmbH","country":"FR","hits":2}]} \ No newline at end of file +{"readable":true,"books":{"\/book\/esp":5,"\/book\/les-commandes-linux":4,"\/book\/linux-architecture-des-dossiers":3,"\/book\/la-domotique-chez-soi":2},"as":[{"asn":"","name":"LAN","country":"","hits":13070},{"asn":"8075","name":"Cloud","country":"US","hits":842},{"asn":"14618","name":"AWS EC2 (us-east-1)","country":"US","hits":433},{"asn":"24940","name":"Hetzner","country":"FI","hits":396},{"asn":"32934","name":"Meta Platforms Ireland Limited","country":"US","hits":284},{"asn":"16276","name":"OVH","country":"FR","hits":148},{"asn":"15169","name":"Google LLC","country":"US","hits":90},{"asn":"48230","name":"LLC MONOLITH.NET","country":"UA","hits":83},{"asn":"36352","name":"HostPapa","country":"US","hits":18},{"asn":"12322","name":"ProXad network \/ Free","country":"FR","hits":15},{"asn":"174","name":"Code 200, UAB","country":"FR","hits":12},{"asn":"18779","name":"EGIHosting","country":"US","hits":10},{"asn":"46261","name":"BraveWay","country":"US","hits":10},{"asn":"3209","name":"Vodafone Kabel Deutschland GmbH","country":"DE","hits":9},{"asn":"51207","name":"Free Mobile","country":"FR","hits":7},{"asn":"16509","name":"Anthropic, PBC","country":"US","hits":7},{"asn":"29695","name":"Lyse Tele AS","country":"NO","hits":5},{"asn":"41281","name":"KeFF Networks Ltd","country":"SE","hits":5},{"asn":"9443","name":"Vocus Retail","country":"AU","hits":5},{"asn":"45102","name":"Alibaba.com LLC","country":"SG","hits":5},{"asn":"37054","name":"Telma Madagascar","country":"MG","hits":4},{"asn":"396982","name":"Google Cloud (us-east5)","country":"US","hits":4},{"asn":"209366","name":"Crawlers","country":"US","hits":4},{"asn":"58087","name":"Datalix","country":"DE","hits":4},{"asn":"132203","name":"Tencent Cloud Computing","country":"DE","hits":4},{"asn":"210743","name":"Babbar SAS","country":"FR","hits":4},{"asn":"136907","name":"Huawei Cloud","country":"SG","hits":2},{"asn":"51167","name":"Contabo GmbH","country":"FR","hits":2}]} \ No newline at end of file diff --git a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.json b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.json new file mode 100644 index 0000000..81be258 --- /dev/null +++ b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.json @@ -0,0 +1,4 @@ +{ + "title": "crontab", + "_updated_at": "2026-05-16 21:21:32" +} diff --git a/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.md b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.md new file mode 100644 index 0000000..76ca849 --- /dev/null +++ b/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/draft_overlay.md @@ -0,0 +1,116 @@ +# 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