Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
|
cron [Le 16/07/2025, 14:47] 81.252.211.253 [Qu'est-ce que Cron] |
cron [Le 27/10/2025, 12:07] (Version actuelle) 141.227.26.230 précision importante sur les crontab |
||
|---|---|---|---|
| Ligne 23: | Ligne 23: | ||
| La syntaxe de Cron est plus complexe que celle d'Anacron. | La syntaxe de Cron est plus complexe que celle d'Anacron. | ||
| + | |||
| + | ===== Choix de l'utilisateur Cron ===== | ||
| + | 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'utilisateur //root// peut **tout** faire sans mot de passe. **/!\ Soyez prudents avec ces scripts, ils peuvent tout faire, y compris casser votre système !!** | ||
| + | |||
| + | Pour des opérations en espace utilisateur (dans votre /home/), donc sans mot de passe, utilisez le **cron** de votre compte utilisateur. | ||
| + | |||
| + | Pour lancer le **cron //root//** : **sudo crontab -e**. Pour consulter ce cron sans l'ouvrir : **sudo contrab -l** | ||
| + | |||
| + | Pour lancer le cron de votre espace utilisateur : **crontab -e**. Pour consulter ce cron sans l'ouvrir : **contrab -l** | ||
| + | |||
| + | Les 2 fichiers **cron** sont indépendants, et peuvent cohabiter sans problème. | ||
| + | |||
| + | Spécificité du cron //root//, il faut indiquer **root** (suivi d'un espace) devant la commande. Aucun utilisateur n'est à indiquer devant la commande du cron //user//. | ||
| + | |||
| ===== Comment fonctionne Cron ===== | ===== Comment fonctionne Cron ===== | ||
| Les tâches planifiées cron sont définies au niveau du système dans le fichier /etc/crontab et dans le dossier /etc/cron.d/\\ | Les tâches planifiées cron sont définies au niveau du système dans le fichier /etc/crontab et dans le dossier /etc/cron.d/\\ | ||
| - | Pour modifier vos tâches planifiées tapez : **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)\\ |
| - | Les tâches définies dans **crontab** sont par principe exécutées par //[[root|root]]// (l'utilisateur avec le maximum de droits), sans demande de mot de passe. Cela permet d'exécuter potentiellement n'importe quelle tâche système, d'où un certain risque : soyez prudent, et abstenez-vous si vous ne maîtrisez pas bien ce que vous faites. | + | |
| Voici une courte description de la structure d'une entrée dans un fichier crontab. Les champs à renseigner sont __dans l'ordre__ (un champ qu'on ne souhaite pas renseigner doit être rempli avec une *) : | Voici une courte description de la structure d'une entrée dans un fichier crontab. Les champs à renseigner sont __dans l'ordre__ (un champ qu'on ne souhaite pas renseigner doit être rempli avec une *) : | ||
| Ligne 36: | Ligne 51: | ||
| * //mois// de lancement (les mois se numérotent de 1 à 12, ou s'énoncent par leur libellé abrégé anglais - jan ; feb ; mar ; apr ; ...) | * //mois// de lancement (les mois se numérotent de 1 à 12, ou s'énoncent par leur libellé abrégé anglais - jan ; feb ; mar ; apr ; ...) | ||
| * //jour de la semaine// de lancement (les jours se numérotent de 1 (lundi) à 7 (dimanche), ou s'énoncent par leur libellé abrégé anglais - sun ; mon ; tue ; wed ; thu ; fri ; sat) | * //jour de la semaine// de lancement (les jours se numérotent de 1 (lundi) à 7 (dimanche), ou s'énoncent par leur libellé abrégé anglais - sun ; mon ; tue ; wed ; thu ; fri ; sat) | ||
| - | * La commande à lancer. | + | * La commande à lancer (précédée de 'root' en cas de crontab //root//. |
| Récapitulatif des 5 premiers champs : | Récapitulatif des 5 premiers champs : | ||