Chaque utilisateur a sa propre crontab
.
Pour le voir, il suffit de taper
crontab -l
et, oui, vous l'avez bien vu, lorsque vous voulez ajouter une crontab
alors il suffit de faire
crontab -e
pour la première fois, vous serez interrogé sur l'éditeur à utiliser avec crontab
. Comme vous êtes un débutant, je vous recommande d'utiliser nano, c'est l'éditeur le plus simple à utiliser.
La crontab elle-même fonctionne comme suit
MIN = Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW = Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line
Ainsi, par exemple, pour déclencher un travail toutes les 15 minutes uniquement le lundi, vous procédez comme suit
*/15 * * * mon /home/me/yourscript.sh
et OUI il est très important que vous mettiez votre cronjob dans la crontab de l'utilisateur qui a suffisamment de droits pour l'exécuter.
Donc si votre script doit être root ou un utilisateur spécial, assurez-vous de vous connecter à cet utilisateur et d'y ajouter le cronjob.
Très important aussi !
cronjob est débile ! Oui, je l'ai dit. Assurez vous toujours d'entrer le PATH complet dans le fichier application/command/script
que vous utilisez, parce que crontab ne fonctionnera pas avec .bashrc
ou similaire. Vous devez toujours vous assurer que vous indiquez à cron où il peut trouver les fichiers et les répertoires.
Pour répondre au reste de vos questions :
Bien sûr, il fonctionnera tout seul, c'est pour ça qu'il est là. Mais vous devez vérifier que cronjob le fait vraiment, ou si quelque chose lui manque. Par exemple, connectez-vous à un fichier journal pour voir s'il fonctionne vraiment.
Et NON, un redémarrage n'est pas nécessaire. Un redémarrage avec linux n'est normalement nécessaire que si vous installez un nouveau noyau. Pour qu'il soit utilisé, vous devez redémarrer. Presque tout le reste peut être fait sans redémarrage sous Linux. Bien sûr, il y a des exceptions, mais en général, cette affirmation est correcte.