Non, ce n’est pas ce fichier qu’il faut modifier.
Le fichier /etc/crontab
est la propriété du compte super-utilisateur root
et ce fichier est utilisé pour la maintenance du système.
Le fichier /etc/crontab
n’est pas modifiable
sans avoir les privilèges du compte super-utilisateur root
Voir le manuel de la commande crontab
man 1 crontab
dans lequel vous pourrez lire :
… Chaque utilisateur dispose de sa propre crontab …
Voir aussi le manuel concernant le format des fichiers utilisés par la commande crontab
man 5 crontab
Pour visualiser la table crontab de votre compte utilisateur :
crontab -l
Si vous n’avez encore rien ajouté dans la table crontab de votre compte utilisateur,
la ligne de commande ci-dessus ne retournera rien.
Pour éditer la table crontab de votre compte utilisateur :
crontab -e
Pour faire un test, vous pouvez faire lancer toutes les minutes
l’exécution d’une ligne de commandes qui va créer,
dans le répertoire personnel de votre compte utilisateur,
le fichier retourDeCrontab.txt
Il faudra donc lancer la commande d’édition :
crontab -e
et ajouter à la fin du fichier
la ligne suivante :
* * * * * echo "Les commandes 'echo' 'date' et 'set' ont été lancées par crontab $(date)\n\n$(set)\n" >> retourDeCrontab.txt
Une fois la table crontab modifiée et à la minute suivante,
vous pourrez faire afficher le contenu du fichier créé par les commandes de la table crontab de votre compte utilisateur
en lançant la ligne de commande suivante :
cat ~/retourDeCrontab.txt
Au bout de deux minutes,
ça devrait donner quelque chose qui ressemblera à ce qui suit :
michel@bull:~$ cat ~/retourDeCrontab.txt
Les commandes 'echo' 'date' et 'set' ont été lancées par crontab sam. 01 janv. 2022 05:34:01 CET
HOME='/home/michel'
IFS='
'
LANG='fr_FR.UTF-8'
LOGNAME='michel'
OPTIND='1'
PATH='/usr/bin:/bin'
PPID='1482'
PS1='$ '
PS2='> '
PS4='+ '
PWD='/home/michel'
SHELL='/bin/sh'
Les commandes 'echo' 'date' et 'set' ont été lancées par crontab sam. 01 janv. 2022 05:35:01 CET
HOME='/home/michel'
IFS='
'
LANG='fr_FR.UTF-8'
LOGNAME='michel'
OPTIND='1'
PATH='/usr/bin:/bin'
PPID='1493'
PS1='$ '
PS2='> '
PS4='+ '
PWD='/home/michel'
SHELL='/bin/sh'
michel@bull:~$
Note :
Dans la ligne de commande lancée par crontab
j’ai fait lancer la commande set de façon à ce que vous puissiez voir dans quel contexte ces commandes sont lancées.
Ce qui permet de constater que le shell utilisé est /bin/sh
(qui est un lien vers /usr/bin/dash
)
et donc, que la commande echo
utilisée n’est pas la même que celle qui est intégrée (builtins) dans le shell bash
On peut aussi voir quelle est la liste des chemins qui a été assignée comme valeur à la variable PATH
et que le répertoire courant (valeur assignée à la variable PWD
) est le répertoire personnel de votre compte utilisateur.