Tâches automatisées sur le Linux (Cron)
Étiquettes de Cron de Linux
Dans le Linux, des tâches peuvent être configurées pour courir automatiquement au cours d'une période spécifique, une date spécifique, ou quand la moyenne de charge du système est au-dessous d'un nombre spécifique. Red Hat Enterprise Linux est préconfiguré pour courir des tâches de système importantes de maintenir le système mis à jour. Par exemple, la base de données de slocate employée par la commande de repérage est mise à jour quotidiennement. Un interface gestionnaire peut employer des tâches automatisées d'exécuter les supports périodiques, surveille le système, les manuscrits faits sur commande de course, et les plus.
Red Hat Enterprise Linux vient avec plusieurs utilités automatisées de tâches : cron, à, et groupe.
1. Cron
Cron est un démon qui peut être employé pour programmer l'exécution des tâches périodiques selon une combinaison de la période, du jour du mois, du mois, du jour de la semaine, et de la semaine.
Cron suppose que le système est allumé sans interruption. Si le système n'est pas sur le moment où une tâche est programmée, elle n'est pas exécutée. Pour programmer les tâches jetables, référez-vous à et groupe.
Pour employer le service de cron, le paquet du vixie-cron T/MN doit être installé et le service de crond doit fonctionner. Pour déterminer si le paquet est installé, employez le T/MN - commande de vixie-cron de q. Pour déterminer si le service fonctionne, employez le statut de crond de /sbin/service de commande.
1.1. Tâches de configuration de Cron
Le fichier de configuration principal pour le cron, /etc/crontab, contient les lignes suivantes :
SHELL=/bin/bash
PATH=/sbin : /bin : /usr/sbin : /usr/bin
MAILTO=root
HOME=/
# courir-parties
01 * * * * courir-parties /etc/cron.hourly de racine
02 4 * * * courir-parties /etc/cron.daily de racine
22 4 * * courir-parties /etc/cron.weekly de 0 racines
42 4 courir-parties /etc/cron.monthly de 1 * * racine
Les quatre premières lignes sont des variables employées pour configurer l'environnement dans lequel les tâches de cron sont courues. La variable de SHELL indique au système quel environnement de coquille à employer (dans cet exemple la coquille de coup), alors que la variable de CHEMIN définit le chemin utilisé pour exécuter des commandes. Le rendement des tâches de cron sont envoyés à l'username définies avec la variable de MAILTO. Si la variable de MAILTO est définie comme corde vide (MAILTO= » "), l'email n'est pas envoyé. La variable de MAISON peut être employée pour placer le répertoire local pour employer en exécutant des commandes ou des manuscrits.
Chaque ligne dans le dossier de /etc/crontab représente une tâche et a le format suivant :
minute | heure | jour | mois | commande de dayofweek
minute - tout nombre entier de 0 à 59
heure - tout nombre entier de 0 à 23
jour - tout nombre entier de 1 à 31 (doit être un jour valide si un mois est spécifié)
mois - tout nombre entier de 1 à 12 (ou le nom court du mois tel que janv. ou fév.)
dayofweek - tout nombre entier de 0 à 7, où 0 ou 7 représente dimanche (ou le nom court de la semaine telle que le soleil ou lundi)
commande - la commande de s'exécuter (la commande peut être une commande telle que LS /proc >> /tmp/proc ou la commande d'exécuter un manuscrit fait sur commande)
Pour l'un des au-dessus des valeurs, un astérisque (*) peut être employé pour spécifier toutes les valeurs valides. Par exemple, un astérisque pour les moyens de valeur de mois exécutent la commande tous les mois dans les contraintes des autres valeurs.
Un trait d'union (-) entre les nombres entiers spécifie une gamme des nombres entiers. Par exemple, 1-4 signifie les nombres entiers 1, 2, 3, et 4.
Une liste de valeurs séparées par des virgules (,) spécifie une liste. Par exemple, 3, 4, 6, 8 indique ces quatre nombres entiers spécifiques.
La barre oblique vers l'avant (/) peut être employée pour spécifier des valeurs d'étape. La valeur d'un nombre entier peut être sautée dans une marge en suivant la gamme avec/<integer>. Par exemple, 0-59/2 peut être employé pour définir chaque autre minute dans le domaine minutieux. Des valeurs d'étape peuvent également être employées avec un astérisque. Par exemple, la valeur */3 peut être employée dans le domaine de mois pour courir la tâche chaque troisième mois.
Toutes les lignes qui commencent par une hachure (#) sont des commentaires et ne sont pas traitées.
Suivant les indications du dossier de /etc/crontab, le manuscrit de courir-parties exécute les manuscrits dans /etc/cron.hourly/, /etc/cron.daily/, /etc/cron.weekly/, et des annuaires de /etc/cron.monthly/ sur un horaire, quotidien, l'hebdomadaire, ou la base mensuelle respectivement. Les dossiers dans ces annuaires devraient être des manuscrits de coquille.
Si une tâche de cron est exigée d'être exécuté sur un programme autre qu'horaire, quotidien, par semaine, ou mensuellement, il peut s'ajouter à l'annuaire de /etc/cron.d/. Tous les dossiers dans cet annuaire emploient la même syntaxe que /etc/crontab. Exemples.
# disque l'utilisation de mémoire du système chaque lundi
# à 3:30 AM dans le dossier /tmp/meminfo
30 3 * * chat /proc/meminfo >> /tmp/meminfo de lundi
# courez le manuscrit fait sur commande le premier jour du chaque mois à 4:10 AM
10 4 1 * * /root/scripts/backup.sh
Les utilisateurs autres que la racine peuvent configurer des tâches de cron en employant l'utilité de crontab. Tous les crontabs définis pour l'utilisateur sont stockés dans l'annuaire de /var/spool/cron/ et sont exécutés utilisant les noms de l'utilisateur des utilisateurs qui les ont créés. Pour créer un crontab comme utilisateur, ouverture en tant que cet utilisateur et dactylographier le crontab de commande - e pour éditer le crontab de l'utilisateur utilisant le rédacteur spécifique variable par de VISUEL ou de RÉDACTEUR environnement. Le dossier emploie le même format que /etc/crontab. Quand les changements au crontab sont sauvés, le crontab est stocké selon l'username et écrit au dossier /var/spool/cron/username.
Le démon de cron vérifie le dossier de /etc/crontab, l'annuaire de /etc/cron.d/, et l'annuaire de /var/spool/cron/ que chaque minute pour en change. Si des changements sont trouvés, ils sont chargés en la mémoire. Ainsi, le démon n'a pas besoin d'être remis en marche si un dossier de crontab est changé.
1.2. Accès de contrôle à Cron
Les dossiers de /etc/cron.allow et de /etc/cron.deny sont employés pour limiter l'accès au cron. Le format des deux dossiers de contrôle d'accès est un username sur chaque ligne. Whitespace n'est pas autorisé dans l'un ou l'autre dossier. Le démon de cron (crond) ne doit pas être remis en marche si les dossiers de contrôle d'accès sont modifiés. Les dossiers de contrôle d'accès sont lus chaque fois que un utilisateur essaye d'ajouter ou supprimer une tâche de cron.
L'utilisateur de racine peut toujours employer le cron, indépendamment des noms de l'utilisateur énumérés dans les dossiers de contrôle d'accès.
Si le dossier cron.allow existe, seulement des utilisateurs énumérés dans lui sont permis d'employer le cron, et le dossier de cron.deny est ignoré.
Si cron.allow n'existe pas, on ne permet pas à des des utilisateurs énumérés dans cron.deny d'employer le cron.
1.3. Commençant et arrêtant le service
Pour commencer le service de cron, employez le début de crond de /sbin/service de commande. Pour arrêter le service, employez l'arrêt de crond de /sbin/service de commande. On lui recommande que vous commenciez le service au temps de botte.





