[Explication complète des commandes Linux] 194. Planification des tâches planifiées Master Linux : analyse approfondie de la commande crontab et de ses techniques d'utilisation

crontab

Soumettre et gérer les tâches des utilisateurs qui doivent être effectuées périodiquement

Informations Complémentaires

crontabLa commande est utilisée pour soumettre et gérer les tâches d'exécution périodiques des utilisateurs, similaires aux tâches planifiées sous Windows. Une fois le système d'exploitation installé, cet outil de service sera installé par défaut et crondle processus démarrera automatiquement. crondLe processus vérifie périodiquement toutes les minutes s'il y a des tâches à effectuer et les exécute automatiquement.

grammaire

crontab [选项] [参数]
Possibilités
  • -e: modifiez les paramètres de la minuterie pour cet utilisateur ;
  • -l: Répertorie les paramètres de minuterie pour cet utilisateur ;
  • -r: Supprimez les paramètres de minuterie de cet utilisateur ;
  • -u<用户名称>: Spécifiez le nom d'utilisateur pour régler la minuterie.
paramètre
  • crontab文件: Spécifiez le fichier crontab contenant les tâches à exécuter.

expansion des connaissances

La planification des tâches sous Linux est divisée en deux catégories : la planification des tâches système et la planification des tâches utilisateur.

Planification des tâches système

Travaux effectués périodiquement par le système, tels que l'écriture de données mises en cache sur le disque dur, le nettoyage des journaux, etc. /etcIl y a un crontabfichier dans le répertoire, qui est le fichier de configuration pour la planification des tâches système .

/etc/crontabLe fichier comprend les lignes suivantes :

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/

run-parts

51 * * * * root run-parts /etc/cron.hourly
24 7 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Les quatre premières lignes sont utilisées pour configurer crondles variables d'environnement pour l'exécution des tâches. Parmi elles, la variable de la première ligne SHELLspécifie le shell à utiliser par le système (bash ici), la variable de la deuxième ligne PATHspécifie le chemin permettant au système d'exécuter la commande et les informations d'exécution de la tâche MAILTOspécifiées par la variable dans la troisième ligne crondsera envoyée à l'utilisateur root par e-mail. , si MAILTOla valeur de la variable est vide, cela signifie que les informations d'exécution de la tâche ne seront pas envoyées à l'utilisateur. La variable de la quatrième ligne HOMEspécifie le répertoire personnel utilisé lors de l'exécution commandes ou scripts.

Planification des tâches des utilisateurs

Tâches que les utilisateurs doivent effectuer régulièrement, telles que la sauvegarde des données utilisateur, les rappels réguliers par e-mail, etc. Les utilisateurs peuvent utiliser crontabdes outils pour personnaliser leurs propres tâches planifiées. Tous les fichiers crontab définis par l'utilisateur sont enregistrés dans /var/spool/cronle répertoire avec le même nom de fichier que l'utilisateur.

Voici le fichier des autorisations utilisateur :

  • /etc/cron.deny: Les utilisateurs répertoriés dans ce fichier ne sont pas autorisés à utiliser crontabla commande ;
  • /etc/cron.allow: Les utilisateurs répertoriés dans ce fichier sont autorisés à utiliser crontabdes commandes ;
  • /var/spool/cron/: Le répertoire où sont stockés tous les fichiers crontab de l'utilisateur, nommé d'après le nom de l'utilisateur.

format de fichier crontab

Dans le fichier crontab créé par l'utilisateur, chaque ligne représente une tâche et chaque champ de chaque ligne représente un paramètre. Le format est divisé en six champs. Les cinq premiers segments sont des segments de réglage de l'heure et le sixième segment est le segment de commande à exécuter. Le format est le suivant :

分钟   小时   日   月   周   命令
顺序:分 时 日 月 周

dans:

  • Minutes : indique les minutes, qui peuvent être n'importe quel nombre entier compris entre 0 et 59.
  • Heure : représente l'heure, qui peut être n'importe quel nombre entier compris entre 0 et 23.
  • Jour : représente la date, qui peut être n'importe quel nombre entier compris entre 1 et 31.
  • Mois : indique le mois, qui peut être n'importe quel nombre entier compris entre 1 et 12.
  • Semaine : indique le jour de la semaine, qui peut être n'importe quel nombre entier compris entre 0 et 7, où 0 ou 7 représente le dimanche.
  • Commande : La commande à exécuter peut être une commande système ou un fichier script écrit par vous-même.

Dans chacun des champs ci-dessus, vous pouvez également utiliser les caractères spéciaux suivants :

  • Astérisque (*) : représente toutes les valeurs possibles. Par exemple, si le champ mois est un astérisque, cela signifie que l'opération de commande sera exécutée chaque mois une fois les contraintes des autres champs remplies.
  • Virgule (,) : vous pouvez spécifier une plage de liste avec des valeurs séparées par des virgules, par exemple "1,2,5,7,8,9".
  • Barre centrale (-) : vous pouvez utiliser une barre centrale entre des nombres entiers pour représenter une plage de nombres entiers. Par exemple, "2-6" signifie "2,3,4,5,6".
  • Barre oblique (/) : vous pouvez utiliser une barre oblique pour spécifier la fréquence de l'intervalle de temps, par exemple, "0-23/2" signifie une exécution toutes les deux heures. Dans le même temps, des barres obliques peuvent être utilisées avec des astérisques. Par exemple */10, si elles sont utilisées dans le champ des minutes, cela signifie qu'elles seront exécutées toutes les dix minutes.

service client

Démarrez le service :

/sbin/service crond start

Service proche :

/sbin/service crond stop

Redémarrez le service :

/sbin/service crond restart

Recharger la configuration :

/sbin/service crond reload

Vérifiez l'état du service crontab :

service crond status

Démarrez le service crontab manuellement :

service crond start

Vérifiez si le service crontab a été configuré pour démarrer au démarrage, exécutez la commande :

ntsysv

Ajoutez le démarrage automatique au démarrage :

chkconfig –level 35 crond on

Exemple

Exécuter la commande toutes les minutes :

* * * * * command

Exécuté aux 3ème et 15ème minutes de chaque heure :

3,15 * * * * command

Exécuté aux 3ème et 15ème minutes de 8h à 11h :

3,15 8-11 * * * command

Exécuter aux 3ème et 15ème minutes de 8h à 11h tous les deux jours :

3,15 8-11 */2 * * command

Exécution tous les lundis à la 3ème et 15ème minutes de 8h à 11h :

3,15 8-11 * * 1 command

Redémarrez smb à 21h30 tous les soirs :

30 21 * * * /etc/init.d/smb restart

Redémarrez PME à 16h45 les 1er, 10 et 22 de chaque mois :

45 4 1,10,22 * * /etc/init.d/smb restart

Redémarrez smb tous les samedis et dimanches à 1h10 :

10 1 * * 6,0 /etc/init.d/smb restart

Redémarrez smb toutes les 30 minutes entre 18h00 et 23h00 tous les jours :

0,30 18-23 * * * /etc/init.d/smb restart

Redémarrez smb tous les samedis à 23h00 :

0 23 * * 6 /etc/init.d/smb restart

Redémarrez smb toutes les heures :

* */1 * * * /etc/init.d/smb restart

Redémarrez smb toutes les heures entre 23h et 7h :

* 23-7/1 * * * /etc/init.d/smb restart

Redémarrez smb le 4 de chaque mois et du lundi au mercredi à 11h00 :

0 11 4 * mon-wed /etc/init.d/smb restart

Redémarrez smb à 16h le 1er janvier :

0 4 1 jan * /etc/init.d/smb restart

Exécutez /etc/cron.hourlyle script dans le répertoire toutes les heures :

01 * * * * root run-parts /etc/cron.hourly

Apprendre à partir de zéropython

[Apprendre Python à partir de zéro] 92. Utilisez la bibliothèque de requêtes de Python pour envoyer des requêtes HTTP et traiter les réponses
[Apprendre Python à partir de zéro] 91. Utiliser des décorateurs et des dictionnaires pour gérer les chemins de requêtes dans une application Web simple
[Apprendre Python à partir de zéro] 93. Utiliser un dictionnaire Chemin de requête de gestion
[Apprendre Python à partir de zéro] 89. Utiliser WSGI pour créer un serveur Web simple et efficace
[Apprendre Python à partir de zéro] 88. Explication détaillée de l'interface WSGI : réaliser un développement Web simple et efficace
[Apprendre Python à partir de zéro] 87. Manuellement construire un serveur HTTP en Python Implémentation et traitement simultané multithread
[Apprendre Python à partir de zéro] 86. Compréhension approfondie du protocole HTTP et de son rôle dans la communication entre le navigateur et le serveur
[Apprendre Python à partir de zéro] 85. Application de la technologie informatique parallèle dans le pool de processus Python
[Apprendre Python à partir de zéro]] 84. Compréhension approfondie des threads et des processus
[Apprendre Python à partir de zéro] 83. Programmation multi-processus Python et utilisation de pools de processus
[Apprendre Python à partir de zéro] 82. Programme de discussion implémentation basée sur le multi-threading
[Apprendre Python à partir de zéro] 81. Python plus Application de la communication et de la file d'attente des threads
[Apprendre Python à partir de zéro] 80. Accès des threads aux variables globales et problèmes de sécurité des threads
[Apprendre Python à partir de zéro] 79. Accès aux threads variables globales et problèmes de sécurité des threads
[Apprendre python à partir de zéro] 78. Cas de téléchargement de fichiers
[Apprendre python à partir de zéro] 77. Programmation et précautions du serveur TCP
[apprendre python à partir de zéro] 76. Serveur et client : composants clés de la communication réseau
[apprendre python à partir de zéro] 75. Protocole TCP : protocole de communication fiable de la couche de transmission orienté connexion
[Apprendre Python à partir de zéro] 74. Programme réseau UDP : explication détaillée des problèmes de port et informations de liaison
[Apprendre Python à partir de zéro] 73. Programme réseau UDP - envoi de données
[Apprendre Python à partir de zéro] 72. Compréhension approfondie de la communication Socket et méthode de création de sockets
[Apprendre python à partir de zéro] 71. Ports réseau et leurs fonctions
[Apprendre python à partir de zéro] 70. Méthodes de communication réseau et leurs applications : de la communication directe aux routeurs pour connecter plusieurs réseaux
[Apprendre python à partir de zéro] 69. Réseau analyse de la communication et de la classification des adresses IP
[Apprendre Python à partir de zéro] 68. Modes gourmands et non gourmands dans les expressions régulières Python
[Apprendre Python à partir de zéro] 67. Le module re en Python : remplacement régulier et technologie de correspondance avancée
[Apprendre Python à partir de zéro] 66 .Compréhension approfondie des expressions régulières : un outil puissant pour la correspondance de modèles et le traitement de texte
[Apprendre Python à partir de zéro] 65. Explication détaillée des modificateurs d'expressions régulières Python et leurs applications
[Apprendre Python à partir de zéro] 64. La méthode re.compile dans les expressions régulières Python Explication détaillée de l'utilisation
[Apprendre Python à partir de zéro] 63. Introduction à la classe re.Match et à ses attributs et méthodes dans les expressions régulières
[Apprendre Python à partir de zéro] 62. Expressions régulières Python : un puissant outil de correspondance de chaînes
[Apprendre python from scratch] 61. Explication détaillée et exemples d'application des attributs de propriété en Python
[Apprendre python from scratch] 60. Générateur d'exploration : un outil flexible pour l'itération
[Apprendre python from scratch] 59. Iterator : Un outil efficace pour optimiser la traversée des données
[ Apprendre Python à partir de zéro] 58. Exceptions personnalisées en Python et méthodes de génération d'exceptions
[Apprendre Python à partir de zéro] 57. Utilisez le mot-clé with en Python pour fermer correctement les ressources
[Apprendre Python à partir de zéro] 56. L'importance et l'application de la gestion des exceptions dans la programmation
[Apprendre Python à partir de zéro] 55. Sérialisation et somme en Python Désérialisation, application des modules JSON et pickle
[Apprendre python à partir de zéro] 54. Écriture de données en mémoire
[Apprendre python à partir de zéro] 53. Fichiers CSV et module CSV de Python
[Apprendre python à partir de zéro] 52. Lecture et écriture de fichiers - Guide d'utilisation des fichiers Python
[ Apprendre Python à partir de zéro] 51. Ouverture et fermeture de fichiers et de leurs applications en Python
[Apprendre Python à partir de zéro] 49. Fonctions intégrées liées aux objets dans Python et leur utilisation
[Apprendre Python à partir de zéro] 48 .Explication détaillée de l'héritage et des multiples l'héritage en Python
[Apprendre Python à partir de zéro] 47. Le concept et l'utilisation de base de l'héritage dans la programmation orientée objet
[Apprendre Python à partir de zéro] 46. Analyse des méthodes __new__ et __init__ et des singletons dans les modèles de conception Python
[Apprendre Python à partir de zéro] 45 Méthodes de classe et méthodes statiques en Python
[Apprendre Python à partir de zéro] 44. Propriétés et méthodes privées dans la programmation orientée objet
[Apprendre Python à partir de zéro] 43. Exemples de programmation orientée objet Python Propriétés et attributs de classe
[Apprendre Python à partir de zéro] 42. Propriétés et méthodes intégrées dans Python
[Apprendre Python à partir de zéro] 41. Méthode magique Python (2)
[Apprendre Python à partir de zéro] 40. Méthode magique Python (1)
[Apprendre Python à partir de zéro] 39. Syntaxe de base orientée objet et exemples d'application
[Apprendre Python à partir de zéro] 38. Comment utiliser et importer des packages Python
[Apprendre Python à partir de zéro] 37. L'utilisation et les précautions des modules personnalisés Python
[Apprendre Python from scratch] Apprendre python] 36. Méthodes et techniques d'utilisation de pip pour la gestion de packages tiers en Python
[Apprendre python à partir de zéro] 35. Modules système communs Python et leur utilisation
[Apprendre python à partir de zéro] 34. Explication détaillée de l'importation et utilisation des modules Python
[Apprendre python à partir de zéro] 33. Le rôle des décorateurs (2)
[Apprendre python à partir de zéro] 32. Le rôle des décorateurs (1)
[Apprendre python à partir de zéro] 31. Compréhension approfondie des commander les fonctions et les fermetures en Python
[De Apprendre Python à partir de zéro] 30. Compréhension approfondie des fonctions récursives et des fonctions anonymes
【apprendre Python à partir de zéro】 29. "Explication détaillée des paramètres de fonction" - comprendre les différentes utilisations des paramètres de fonction Python
【 apprendre python à partir de zéro】 28. Variables locales et variables globales dans Python Variables
[Apprendre python à partir de zéro] 27. L'utilisation de fonctions Python et d'appels imbriqués
[Apprendre python à partir de zéro] 25. Fonctions : un outil pour améliorer l'efficacité de l'écriture de code
[Apprendre Python à partir de zéro] 24. Opérations sur les chaînes et méthodes de parcours en Python
[Apprendre Python à partir de zéro] 23. Comment utiliser les ensembles (set) et les opérations courantes en Python
[Apprendre Python à partir de zéro] 22. Ajouter, supprimer, modifier et interroger les variables du dictionnaire en Python
[Apprendre Python à partir de zéro] 21. Tuples et dictionnaires Python
[Apprendre Python à partir de zéro] 20. Compétences et exemples d'opération de liste Python
[Apprendre Python à partir de zéro] 19. Applications de boucle dans les listes et d'imbrication de listes
[Apprendre Python à partir de zéro] 18. Explication détaillée des opérations de base des listes Python (1)
[De Apprendre Python à partir de zéro] 17. La méthode de formatage des chaînes Python (2)
【Apprendre Python à partir de zéro】 16. La méthode de formatage des chaînes Python (1)
【Apprendre Python à partir de zéro】 15. Compréhension approfondie des chaînes et Encodage du jeu de caractères
【De l'apprentissage de Python à partir de zéro】 14. Opérations courantes sur les chaînes Python (2)
【Apprendre Python à partir de zéro】 13. Opérations courantes sur les chaînes Python (1)
【Apprendre Python à partir de zéro】 12. Opérations et applications sur les chaînes Python
【 Apprendre Python à partir de zéro】 11. Instructions de boucle Python et flux de contrôle
[Apprendre Python à partir de zéro] 10. Explication détaillée des instructions conditionnelles Python et si l'imbrication
[Apprendre Python à partir de zéro] 09. Déclarations de jugement conditionnel en Python
[Apprendre Python à partir de zéro] 08 . Python comprend l'opérateur d'opérations sur les bits, la priorité de l'opérateur
[Apprendre Python à partir de zéro] 07. Explication détaillée des opérateurs Python : affectation, comparaison et opérateurs logiques
[Apprendre Python à partir de zéro] 06. Utiliser les opérateurs arithmétiques en Python pour les calculs et la concaténation de chaînes
[Apprendre à partir de scratch] python ] 05. Sortie et entrée en Python
[Apprendre Python à partir de zéro] 04. Bases de la programmation Python : variables, types de données et identifiants
[Apprendre Python à partir de zéro] 03. Programmation interactive Python et explication détaillée des commentaires
[Apprendre Python à partir de zéro] 02. Introduction aux outils de développement
[Apprendre Python à partir de zéro] 01. Installer et configurer Python

Guess you like

Origin blog.csdn.net/qq_33681891/article/details/133266126