Cookie

TheJoe.it Dans le (ouvrir) Source

29Mar/130

Crontab: actions prévues avec Linux

Attention!

Cet article a été rédigé dans le 2013, il peut y avoir eu certains développements en la matière.
En cas de doute s'il vous plaît laissez un commentaire en bas de l'article.
Merci.

cronometro_300

Le programme que nous discutons aujourd'hui est cron, un démon Linux léger qui traite de la commande de lancement à intervalles définis par l'utilisateur. Il est souvent confondu avec "crontab", qui en réalité n'est rien mais son fichier de configuration, contenant les commandes de lancement et les intervalles de temps. Quelqu'un se souvient crontab (nous avons utilisé dans le tutoriel sur "laps de temps" pour prendre des photos en mode automatique). Dans l'article d'aujourd'hui, nous voyons un aperçu de travailler avec cron, accompagnés d'exemples d'utilisation, et de modifier le fichier crontab.

Vous pouvez exécuter crontab si l'alias de l'utilisateur de ceux qui essaient de changer qu'il apparaît dans le fichier "/usr / lib / cron / cron.allow". Si le fichier n'existe pas, vous pouvez utiliser crontab si votre nom n'apparaît pas dans le fichier de l'utilisateur "/usr / lib / cron / cron.deny". Dans le cas où il n'y a que le fichier "cron.deny" et est vide, tous les utilisateurs peuvent utiliser crontab. Si aucun fichier n'existe, seul root peut utiliser crontab. La structure des deux fichiers (laissez e nie) se compose d'un alias d'utilisateur par ligne.

commandes crontab

exporter EDITOR = nano ;spécifier un éditeur pour ouvrir crontab

Commande Description
crontab -e Editez le fichier crontab, ou en créer un si n'existe pas
crontab -l Voir le fichier crontab
crontab -r Supprime le fichier crontab
crontab -v Indique la dernière fois que vous avez modifié les fichiers (n'est possible que sur certains systèmes)

La syntaxe de crontab

Un fichier crontab comprend cinq champs pour spécifier jour, Date ORA sur, suivie de la commande à exécuter.

* * * * * commande à exécuter
- - - - -
| | | | |
| | | | +----- jour de la semaine (0 - 6) (Dimanche = 0)
| | | +------- mois (1 - 12)
| | +--------- jour du mois (1 - 31)
| +----------- maintenant (0 - 23)
+------------- minute (0 - 59)

Cette schemino est également indiqué dans le fichier crontab et est auto-explicatif: quand nous voulons exécuter la commande remplacer les astérisques (ou l'astérisque) avec les valeurs numériques données.

Pour les systèmes d'exploitation qui prennent en charge, vous pouvez également spécifier "/2" pour exécuter la commande toutes les deux minutes. Si vous essayez de l'utiliser et crontab estime qu'il n'est probablement pas pris en charge. Pour contourner cet obstacle en, vous pouvez dupliquer le crontab de ligne et définir un sommeil pendant quelques secondes.

* * * * * /home/user/script/script.sh
* * * * * sleep 15; /home/user/script/script.sh
* * * * * sleep 30; /home/user/script/script.sh
* * * * * sleep 45; /home/user/script/script.sh

Dans cet exemple, le script sera exécuté à chaque minute, la deuxième avec un retard d' 15 secondes, la troisième de 30 et le quatrième 45.

Comme nous l'avons vu, la spécification de la journée peut être fait sur une base hebdomadaire ou mensuelle. Si les deux champs sont remplis, la commande sera exécutée dans les deux situations.

Quelques exemples

Cette ligne de crontab supprime le contenu du répertoire "/home / user / tmp /" tous les soirs à 18.30.

30 18 * * * rm /home/user/tmp/*

En modifiant les paramètres comme ci-dessous va provoquer un décalage dans l'exécution de commande.

ma heures jour / mois mois jour / semaine lorsque vous démarrez?
30 0 1 1,6,12 * 00.30 le 1 Janvier, Juin et Décembre
0 20 * 10 1-5 Tous 20.00 chaque jour de la semaine (lun-ven) seulement en Octobre
0 0 1,10,15 * * minuit, la première, le 10 et l' 15 tire l'
5,10 0 10 * 1 Tous 12.05, 12.10 tous les lundis et 10 de chaque mois

Connexion

Il est bien sûr possible de faire des enregistrements de journal crontab de. Dans ce cas, la commande (prendre comme exemple le même qu'avant) sera ainsi formé:

30 18 * * * rm /home/user/tmp/* > /home/user/cronlogs/clean_tmp_dir.log

Alternative

Pour ceux qui ne sont pas familiers avec la ligne de commande, ou trouver particulièrement laborieux, il existe plusieurs alternatives pour l'édition crontab via l'interface Web. Le seul que je recommande est webmin, ainsi que de permettre crontab d'édition, permet la gestion de l'ensemble du système Linux sans avoir à configurer l'accès SSH ou utiliser le terminal, vous pouvez tout faire via l'interface web. Mais peut-être ce programme mérite un article dédié.

webmin_cron

Content de cet article?

Inscrivez vous à notre fil rss!

Sur

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Laisser un commentaire

Aucun trackbacks pour l'instant