615 votes

Comment configurer une tâche Cron ?

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 ?

760voto

NickNameNick Points 91

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 .

9 votes

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/

5 votes

@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 !

4 votes

*/15 * * * * /path/to/command a été très pratique pour moi ! merci !

110voto

alastairs Points 3045

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

1 votes

Voici un joli manipulateur interactif de cron qui vous donnera l'heure anglaise du cron. crontab.guru

55voto

jhornnes Points 1211

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.

3 votes

0 votes

@TankorSmash Tu peux l'avoir. aquí

0 votes

Les exigences du paquet ne peuvent pas être satisfaites sur 16.04

26voto

RN. Points 559

Je recommande Le planificateur de tâches de KDE ( kde-config-cron ) Install 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.

enter image description here

12voto

Antonio Points 1391

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.

0 votes

Il ne trouve pas pour Ubuntu 16.04

0 votes

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

SistemesEz.com

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.

Powered by:

X