Je veux programmer l'exécution d'une tâche à intervalles réguliers et j'ai entendu dire que Cron était le moyen de le faire.
Comment ajouter des tâches Cron dans Ubuntu ?
Je veux programmer l'exécution d'une tâche à intervalles réguliers et j'ai entendu dire que Cron était le moyen de le faire.
Comment ajouter des tâches Cron dans Ubuntu ?
Exemple d'exécution du script. test_cron.sh
par cron toutes les minutes sur Ubuntu 18.04 en utilisant un lien symbolique :
test_cron.sh
archivo:
#!/bin/bash
echo "System backuped" >> /media/myname/data/backup/backup_tmp.log
Si vous voulez utiliser des variables d'environnement dans votre script comme $USER
dans les chemins il est préférable de taper le chemin précis, bash ne connaîtra pas vos variables au moment de l'exécution.
myname
est le nom de l'utilisateur (faisant partie du groupe root, je ne suis pas sûr que les privilèges root soient nécessaires).
Permet aux utilisateurs de définir des tâches cron, le fichier sera créé si nécessaire :
sudo nano /etc/cron.allow
root
myname
Le chemin vers script est /home/myname/shell/test_cron.sh
J'ai changé le propriétaire et l'ai rendu exécutable :
sudo chown myname /home/myname/shell/test_cron.sh
chmod +x /home/myname/shell/test_cron.sh
J'ai ajouté un lien symbolique :
sudo ln -s /home/myname/shell/test_cron.sh /usr/bin/test_cron
Connecté en tant que myname
J'ai ajouté une nouvelle tâche à exécuter test_cron
chaque minute.
crontab -e
*/1 * * * * test_cron
Pour vérifier si la commande dans la liste :
crontab -l
*/1 * * * * test_cron
Pour vérifier l'exécution
grep -i cron /var/log/syslog
Nov 17 12:28:01 myname-ubuntu CRON[13947]: (myname) CMD (system-backup)
Considérant que vous avez plusieurs tâches cron avec un utilisateur particulier et ils ne partagent pas le même horaire. Vous pouvez simplement créer un fichier sous /etc/cron.d/
Disons que le nom du fichier est myjobs
alors écrivez simplement tous vos programmateurs dans ce fichier et exécutez la commande suivante.
crontab -u <username> /etc/cron.d/myjobs
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.