Debian 11 - crontab

Salutations,

voici le contenu de ma crontab:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Me confirmez-vous que c’est normal pour un système où je n’ai pas fait de modification de la crontab jusqu’à maintenant ?

Le # au début et à la fin des exemples « commentent » ces derniers ?

Bonjour, je suis pas expert, mais oui ça doit être normal, j’ai la même chose que toi, tu ajoutes tes crontab sous cette liste (avant le dernier #).

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.

Merci pour vos réponses.

Comme je devais mettre en place une tâche « cron » sur le pc de mon fils, j’ai eu les infos grâce à vous.