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 ?
Mettez un Shell ShellscriptShell dans un de ces dossiers : /etc/cron.daily
, /etc/cron.hourly
, /etc/cron.monthly
o /etc/cron.weekly
.
Si cela ne vous suffit pas, vous pouvez ajouter des tâches plus spécifiques, par exemple deux fois par mois ou toutes les 5 minutes. Allez dans le terminal et tapez :
crontab -e
Cela ouvrira votre crontab personnel (fichier de configuration cron). La première ligne de ce fichier explique tout ! Sur chaque ligne, vous pouvez définir une commande à exécuter et son horaire, et le format est assez simple lorsque vous l'avez compris. La structure est la suivante :
minute hour day-of-month month day-of-week command
Pour tous les nombres, vous pouvez utiliser des listes, par ex. 5,34,55
dans le champ "minutes" signifiera une exécution à 5 heures, 34 heures et 55 heures, quelle que soit l'heure définie.
Vous pouvez également utiliser les intervalles. Ils sont définis comme suit : */20
. Cet exemple signifie tous les 20 ans, donc dans la colonne des minutes, cela équivaut à 0,20,40
.
Donc pour lancer une commande tous les lundis à 5h30 de l'après-midi :
30 17 * * 1 /path/to/command
ou toutes les 15 minutes
*/15 * * * * /path/to/command
Notez que le jour de la semaine va de 0 à 6, 0 étant le dimanche.
Vous pouvez lire la suite ici .
Ceux-ci s'appliquent à l'ensemble du système et sont exécutés avec des privilèges élevés. Je n'y mettrais rien à moins qu'il n'y ait un besoin urgent d'accès ou de permission. En règle générale, essayez de faire des choses sans capacités. Par conséquent, je préfère cette réponse : ubuntu.stackexchange.com/questions/2368/how-do-i-setup-cron-job/
@Marcelo Morales, Ce qui va aussi exécuter les commandes données en tant que root ! si d'un autre côté vous n'utilisez pas sudo alors vous allez créer une crontab utilisateur et celle-ci sera exécutée par l'utilisateur qui l'a créée !
Si le travail que vous voulez exécuter peut être exécuté avec les mêmes privilèges que votre utilisateur, je recommande d'utiliser une crontab utilisateur que vous pouvez éditer en exécutant EDITOR="gedit" crontab -e
(qui utilisera gedit pour éditer le fichier crontab) ou simplement crontab -e
(qui utilisera l'éditeur par défaut) dans un terminal.
Si vous voulez exécuter quelque chose toutes les 10 minutes, par exemple, vous ajoutez une ligne comme celle-ci
*/10 * * * * /usr/bin/somedirectory/somecommand
et enregistrez le fichier.
Vous pouvez voir le contenu de la crontab de l'utilisateur avec crontab -l
.
Pour ajouter une tâche cron qui s'exécute en tant que root, vous pouvez éditer la crontab de root en exécutant sudo crontab -e
.
La manière la plus flexible est d'utiliser la crontab du système. /etc/crontab
que vous ne pouvez modifier qu'avec les privilèges de root. Dans ce fichier, l'utilisateur sous lequel chaque commande doit être exécutée est spécifié, de sorte que vous pouvez exécuter vos commandes en tant que root (au cas où vous auriez besoin de ce niveau de privilège) ou tout autre utilisateur du système.
Par exemple, si vous voulez exécuter quelque chose toutes les 10 minutes en tant que root, vous ajouterez une ligne comme celle-ci
*/10 * * * * root /usr/bin/somedirectory/somecommand
(remarquez l'ajout de l'utilisateur à la ligne)
Vous pouvez voir le contenu du fichier crontab du système avec cat /etc/crontab
.
Plus de détails à l'adresse suivante https://help.ubuntu.com/community/CronHowto
Voici un joli manipulateur interactif de cron qui vous donnera l'heure anglaise du cron. crontab.guru
Si vous préférez le faire à l'aide d'une interface graphique, vous pouvez aller au Centre de logiciels et installer Tâches planifiées (ou exécuter sudo apt-get install gnome-schedule
). Il fournira une interface graphique puissante pour ajouter des tâches cron.
Notez que si vous utilisez cette méthode, les tâches seront exécutées par défaut en tant que votre propre utilisateur, et non en tant que root. C'est généralement une bonne chose.
Non disponible pour 16.04 apparemment bugs.launchpad.net/ubuntu/+source/gnome-schedule/+bug/1576060
Je recommande Le planificateur de tâches de KDE ( kde-config-cron
) . Vous pouvez y accéder à partir du Paramètres du système dans le Planificateur de tâches module là.
Il gère à la fois les Crontabs personnels et les Crontabs système, et la facilité de création des limites de temps m'a beaucoup surpris (voir la capture d'écran ci-dessous). Je pense que cette partie est vraiment sous-estimée.
Le planificateur de tâches de KDE ne fonctionnera pas dans l'Ubuntu ordinaire. Il ne fonctionne que sur les systèmes KDE comme KUbuntu. Pour les systèmes non KDE, il est préférable d'utiliser gnome-schedule.
$ sudo apt-get install gnome-schedule
L'application est Tâches planifiées dans le tableau de bord.
Jetez un coup d'œil à I can't install gnome schedule on Ubuntu 16.04
@ askubuntu.com/questions/785657/ . Il y a un paquet à télécharger @ bugs.launchpad.net/ubuntu/+source/gnome-schedule/+bug/1576060/ . Il suffit d'exécuter $ sudo dpkg -i gnome-schedule_2.3.0-0ubuntu16.04_amd64.deb
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.