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 | ||
| cron [Le 31/10/2025, 09:09] – [Choix de l'utilisateur Cron] inutile 90.65.51.73 | cron [Le 07/01/2026, 14:05] (Version actuelle) – [Choix de l'utilisateur Cron] 141.227.26.230 | ||
|---|---|---|---|
| Ligne 27: | Ligne 27: | ||
| Il est important de définir clairement sous quel compte utilisateur est lancé **cron**. Ce peut-être vous (votre //user//), ou ce peut-être //root// (utilisateur qui a tous les droits). | Il est important de définir clairement sous quel compte utilisateur est lancé **cron**. Ce peut-être vous (votre //user//), ou ce peut-être //root// (utilisateur qui a tous les droits). | ||
| - | Pour des opérations demandant normalement un mot de passe, il faudra utiliser **cron //root//**. En effet, l' | + | Pour des opérations demandant normalement un mot de passe, il faudra utiliser **cron //root//**. En effet, l' |
| Pour des opérations en espace utilisateur (dans votre /home/), donc sans mot de passe, utilisez le **cron** de votre compte utilisateur. | Pour des opérations en espace utilisateur (dans votre /home/), donc sans mot de passe, utilisez le **cron** de votre compte utilisateur. | ||
| Ligne 40: | Ligne 40: | ||
| Pour modifier vos tâches planifiées tapez : **crontab -e** ou **sudo crontab -e** (lance un éditeur du fichier crontab)\\ | Pour modifier vos tâches planifiées tapez : **crontab -e** ou **sudo crontab -e** (lance un éditeur du fichier crontab)\\ | ||
| - | Voici une courte description de la structure d'une entrée dans un fichier crontab. Les champs à renseigner sont __dans l' | + | Voici une courte description de la structure d'une entrée dans un fichier crontab. Les champs à renseigner sont __dans l' |
| * //minute// de lancement (les minutes se numérotent de 0 à 59) | * //minute// de lancement (les minutes se numérotent de 0 à 59) | ||
| Ligne 47: | Ligne 47: | ||
| * //mois// de lancement (les mois se numérotent de 1 à 12, ou s' | * //mois// de lancement (les mois se numérotent de 1 à 12, ou s' | ||
| * //jour de la semaine// de lancement (les jours se numérotent de 1 (lundi) à 7 (dimanche), ou s' | * //jour de la semaine// de lancement (les jours se numérotent de 1 (lundi) à 7 (dimanche), ou s' | ||
| - | * La commande à lancer | + | * La commande à lancer. |
| + | Un champ contenant une étoile ** * ** signifie | ||
| Récapitulatif des 5 premiers champs : | Récapitulatif des 5 premiers champs : | ||
| Ligne 108: | Ligne 109: | ||
| https:// | https:// | ||
| http:// | http:// | ||
| + | |||
| ===== Commandes pour gérer les tâches planifiées Cron ===== | ===== Commandes pour gérer les tâches planifiées Cron ===== | ||
| Ligne 117: | Ligne 119: | ||
| Pour modifier vos tâches planifiées tapez : | Pour modifier vos tâches planifiées tapez : | ||
| - | |||
| <code bash> | <code bash> | ||
| + | pour celles nécessitant normalement un mot de passe (qui dès lors ne sera pas demandé) : | ||
| + | <code bash> | ||
| et pour modifier celles d'un autre utilisateur : | et pour modifier celles d'un autre utilisateur : | ||
| <code bash> | <code bash> | ||
| Ligne 137: | Ligne 140: | ||
| Certains environnements de bureau, comme KDE dans sa « Configuration du système », offrent une interface graphique pour gérer les tâches cron. | Certains environnements de bureau, comme KDE dans sa « Configuration du système », offrent une interface graphique pour gérer les tâches cron. | ||
| - | |||
| - | |||
| ===== Lancement graphique ===== | ===== Lancement graphique ===== | ||
| Ligne 152: | Ligne 153: | ||
| ===== Chemin des scripts, commandes à exécuter ou fichiers à utiliser ===== | ===== Chemin des scripts, commandes à exécuter ou fichiers à utiliser ===== | ||
| - | Cron n'a pas de PATH par défaut. | + | Une tâche cron est exécutée dans un shell non connecté (non-login) et non interactif. Les variables d' |
| - | < | + | |
| - | #!/bin/bash | + | |
| - | export LANG="fr_BE.UTF-8" | + | Il faut donc :\\ |
| + | - soit mettre les emplacements __complets__ des exécutables dans les commandes et les scripts appelés par cron, par exemple : | ||
| + | < | ||
| + | - soit ajouter une ligne de PATH dans le fichier crontab, __avant__ les appels de scripts. Cette ligne définie où il est très probable que se trouveront les programmes appelés : | ||
| + | < | ||
| + | - Soit faire les deux si on est très prudent :). | ||
| - | /usr/bin/zenity | + | Enfin, si le programme (script) exécuté doit sauvegarder des fichiers, il peut être utile de précéder l' |
| + | <code bash> | ||
| + | * * * * * cd /home/mon-compte/wokspace/ && /home/mon-compte/ | ||
| </ | </ | ||
| Ligne 166: | Ligne 172: | ||
| Si vous avez besoin qu'un script soit exécuté toutes les heures au niveau du système (par root), il suffit donc de le placer dans le dossier / | Si vous avez besoin qu'un script soit exécuté toutes les heures au niveau du système (par root), il suffit donc de le placer dans le dossier / | ||
| - | |||
| ===== Utilisation du répertoire / | ===== Utilisation du répertoire / | ||
| Ligne 183: | Ligne 188: | ||
| Une autre façon de créer une tâche planifiée devant être exécutée par root est d' | Une autre façon de créer une tâche planifiée devant être exécutée par root est d' | ||
| - | |||
| - | ==== Répertoires ==== | ||
| - | Une tâche cron est exécutée dans un shell non connecté (non-login) et non interactif. Les variables d' | ||
| - | |||
| - | Il faut donc soit mettre les emplacements complets des exécutables dans les commandes et les scripts appelés par cron, soit définir PATH dans le fichier crontab : | ||
| - | < | ||
| - | PATH=/ | ||
| - | </ | ||
| - | Il peut être utile d' | ||
| - | <code bash> | ||
| - | which python3 | ||
| - | # peut par exemple retourner | ||
| - | / | ||
| - | </ | ||
| - | |||
| - | De même, si le programme (script) exécuté doit sauvegarder des fichiers, il peut être utile de précéder l' | ||
| - | <code bash> | ||
| - | * * * * * cd / | ||
| - | </ | ||
| ==== Tests ==== | ==== Tests ==== | ||
