Chaque utilisateur a le sien crontab
.
Pour le voir, tapez simplement
crontab -l
et, oui, vous avez bien vu, quand vous voulez ajouter un crontab
simplement faire
crontab -e
pour la première fois, on vous posera des questions sur l'éditeur à utiliser crontab
. Comme vous êtes un débutant comme vous le dites, je vous recommande d’utiliser nano, c’est l’éditeur le plus simple à utiliser.
La crontab elle-même fonctionne comme ça
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
Donc, par exemple, pour déclencher un travail toutes les 15 minutes seulement le lundi, vous le faites comme
*/15 * * * mon /home/me/yourscript.sh
et OUI il est très important que vous mettiez votre travail cron dans la crontab de l'utilisateur qui dispose des droits suffisants pour l'exécuter.
Donc, si votre script doit être root ou un utilisateur spécial, assurez-vous de le soumettre à cet utilisateur et ajoutez-y le travail cron.
Aussi très important!
cronjob est bête! Oui je l'ai dit. Assurez-vous toujours de saisir le PATH complet dans le fichier que application/command/script
vous utilisez, car crontab ne fonctionnera pas avec .bashrc
ou similaire. Vous devez toujours vous assurer que vous dites à 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 cela qu'il est fait. Mais vous devez vérifier que cronjob le fait vraiment, ou s'il manque quelque chose. Par exemple, connectez-vous à un fichier journal pour voir si cela 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 l'utiliser, vous devez redémarrer. Presque tout le reste peut être fait sans redémarrer sous Linux. Bien sûr, il existe des exceptions, mais en général, cette affirmation est correcte.
crontab -e
vous permet de modifier votre crontab utilisateur sans sudo. Les crontabs de l'utilisateur sont/var/spool/cron/crontabs
un répertoire auquel on ne peut pas accéder sans la permission du superutilisateur (mais de telle sorte qu'une fois que cron a supprimé ses privilèges, il est toujours capable de le lire). Même si vous utilisez sudo pour essayer d’éditer directement le fichier, vous voyez un gros avertissement en haut, «NE MODIFIEZ PAS CE FICHIER» - le fichier est conçu pour être édité à l’aide de lacrontab
commande qui utilise une copie temporaire/tmp
puis est installée. après avoir économisé.