Cookie

Attention


Cet article a été publié il y a plus d'un an, il peut y avoir des développements été.
S'il vous plaît prendre en compte.

Le programme que nous discutons aujourd'hui est cron, un démon Linux léger qui prend soin de commande 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 tutoriel sur “laps de temps” pour prendre des photos en mode automatique). Dans l'article d'aujourd'hui nous voyons un aperçu du fonctionnement du cron, accompagnés d'exemples d'utilisation, et de modifier le fichier crontab.

Vous pouvez exécuter crontab si l'utilisateur alias qui essaie de modifier 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

CommandeDescription
crontab -eEditez le fichier crontab, ou en créer un si n'existe pas
crontab -lVoir le fichier crontab
crontab -rSupprime le fichier crontab
crontab -vAfficher la dernière fois vous avez changé 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, suivi par 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 changeant les paramètres comme ci-dessous va provoquer un changement dans l'exécution de commandes.

maheuresjour / moismoisjour / semainelorsque vous démarrez?
30011,6,12*00.30 le 1 Janvier, Juin et Décembre
020*101-5Tous 20.00 chaque jour de la semaine (lun-ven) seulement en Octobre
001,10,15**minuit, la première, le 10 et l' 15 tire l'
5,10010*1Tous 12.05, 12.10 tous les lundis et 10 de chaque mois

Connexion

Il est bien sûr possible de faire des enregistrements de crontab journal d'activité. 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 peux recommander est webmin, ainsi que de permettre crontab d'édition, permet à l'administration de l'ensemble du système Linux sans la nécessité de mettre en place un 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


TheJoe

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.

0 commentaires

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.