Le processus cron intégré à Linux peut nous aider à répondre à ces exigences.Avec les scripts cron et shell, il n'y a aucun problème avec des instructions très compliquées.
Introduction à cron
Nous utilisons souvent la commande crontab, qui est l'abréviation de cron table. C'est le fichier de configuration de cron, et on peut aussi l'appeler la liste des tâches. Nous pouvons trouver les fichiers de configuration pertinents dans les dossiers suivants.
Le répertoire /var/spool/cron/ stocke les tâches crontab de chaque utilisateur, y compris root, et chaque tâche porte le nom du créateur.
Ce fichier /etc/crontab est responsable de la planification de diverses tâches de gestion et de maintenance.
/etc/cron.d/ Ce répertoire est utilisé pour stocker tous les fichiers crontab ou scripts à exécuter.
Nous pouvons également placer des scripts dans les répertoires /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly et le laisser s'exécuter chaque heure/jour/semaine et mois.
Utilisation de crontab
Nos commandes couramment utilisées sont les suivantes :
crontab [-u username] //省略用户表表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作表)
Nous utilisons crontab -e pour entrer dans l'éditeur de feuille de calcul de l'utilisateur actuel, qui est une interface vim commune. Chaque ligne est une commande.
La commande de crontab est composée de temps + action, le temps a des minutes, des heures, des jours, des mois et des vendredis, et les opérateurs sont
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
散列数字
format spécifique
+---------------- minute (0 - 59)
+------------- hour (0 - 23)
+---------- day of month (1 - 31)
+------- month (1 - 12)
+---- day of week (0 - 6) (Sunday=0 or 7)
* * * * * command to be executed
Par exemple
Exemple 1 : Exécuter myCommand toutes les 1 minute
* * * * * myCommand
Exemple 2 : Exécuté les 3e et 15e minutes de chaque heure
3,15 * * * * myCommand
Exemple 3 : Exécuté aux 3ème et 15ème minutes de 8h00 à 11h00
3,15 8-11 * * * myCommand
instance 4 : exécution aux 3ème et 15ème minutes de 8h00 à 11h00 tous les deux jours
3,15 8-11 */2 * * myCommand
Exemple 5 : Exécuter aux 3ème et 15ème minutes tous les lundis de 8h00 à 11h00
3,15 8-11 * * 1 myCommand
Exemple 6 : Redémarrer smb tous les soirs à 21h30
30 21 * * * /etc/init.d/smb restart
Exemple 7 : Redémarrer smb à 4h45 les 1er, 10 et 22 de chaque mois
45 4 1,10,22 * * /etc/init.d/smb restart
Exemple 8 : Redémarrer smb tous les samedis et dimanches à 1h10
10 1 * * 6,0 /etc/init.d/smb restart
Exemple 9 : Redémarrer smb toutes les 30 minutes entre 18h00 et 23h00 tous les jours
0,30 18-23 * * * /etc/init.d/smb restart
Exemple 10 : Redémarrer smb tous les samedis soir à 23h00
0 23 * * 6 /etc/init.d/smb restart
Exemple 11 : Redémarrer smb toutes les heures
0 */1 * * * /etc/init.d/smb restart
Exemple 12 : Entre 23h00 et 7h00, redémarrer smb toutes les heures
0 23-7/1 * * * /etc/init.d/smb restart