Maison  >  Article  >  Opération et maintenance  >  Comment écrire un script d'exécution planifiée crontab sous Linux

Comment écrire un script d'exécution planifiée crontab sous Linux

PHPz
PHPzavant
2023-06-03 10:13:201838parcourir

    crontab exécute régulièrement le script

    Pas de bêtises, allez simplement dans ce que vous voulez :

    Comment écrire un script dexécution planifiée crontab sous Linux

    Comme indiqué dans l'encadré, cette commande signifie que le fichier script dans ce répertoire est exécuté toutes les dix minutes, c'est à dire c'est-à-dire /home /alan/test1.sh

    Ok, parlons maintenant de la raison pour laquelle la commande est écrite comme ceci.

    1. Qu'est-ce que crond et qu'est-ce que crontab

    Tout d'abord, crond est un service utilisé dans les systèmes Linux pour exécuter des commandes régulièrement. Après avoir écrit la commande, le système lancera la commande de planification des tâches crond. crond vérifiera régulièrement s'il y a du travail à effectuer chaque minute. S'il y a du travail à effectuer, il exécutera automatiquement le travail. crondService est comme un réveil.

    Et crontab est utilisé pour définir une commande à exécuter périodiquement. Cette commande lit les instructions du périphérique d'entrée standard et les stocke dans le fichier "crontab" pour une lecture et une exécution ultérieures.

    Pour parler franchement, les services crond doivent être implémentés via crontab.

    format de commande crontab

    option description
    -u utilisateur est utilisé pour définir une tâche planifiée pour un certain utilisateur
    fichier file est le fichier de commandes name, indique l'utilisation du fichier comme fichier de liste des tâches de crontab et le chargement de crontab
    -e pour modifier les tâches planifiées d'un utilisateur. Si aucun utilisateur n'est spécifié, cela signifie l'utilisateur actuel
    -l à. afficher les tâches planifiées d'un utilisateur, si aucun utilisateur n'est spécifié, cela signifie que l'utilisateur actuel
    -r supprime les tâches planifiées d'un certain utilisateur, si aucun utilisateur n'est spécifié, cela signifie que l'utilisateur actuel.
    -i supprime les tâches planifiées d'un certain utilisateur. Donnez une invite de confirmation pendant la tâche

    2. Installez crond

    1. Vérifiez d'abord si crond est installé

    yum list installed | grep "crond"

    2. (centos 7)

    • systemctl status crond : Vérifiez l'état du service crond. systemctl status crond:查看 crond 服务状态。

    • systemctl start crond:启动 crond 服务。

    • systemctl stop crond:关闭 crond 服务。

    • systemctl restart crond:重启 crond 服务。

    • systemctl reload crond

    systemctl start crond : Démarrez le service crond.

    systemctl stop crond : Fermez le service crond.

    Comment écrire un script dexécution planifiée crontab sous Linuxsystemctl restart crond : Redémarrez le service crond.

    systemctl reload crond : Rechargez le service crond. S'il s'agit de centos 7 ou inférieur, écrivez simplement service crond status/start/....

    3. Comment utiliser crontabComme le montre l'image :

    chemin absolu/home/alan/test1.sh) La signification spécifique et la portée de l'astérisque (de gauche à droite) : La signification de l'astérisquePlage horaire*La minute de l'heure ( minute) 0-59*L'heure du jour (heure)0-23*Le jour du mois (jour)1-31*
    À l'exception du symbole # de commentaire, il y a un total de cinq signes * de gauche à droite, représentant les minutes, les heures, les jours, les mois, et les jours de la semaine. Ce qui suit est l'utilisateur qui effectue la tâche, suivi de la commande exécutée ou du fichier de script (le fichier de script doit apporter le répertoire, par exemple, le mien est

    Le mois de l'année (mois)1-12

    *Le jour de la semaine (semaine)0-7 (0 et 7 représentent tous deux le dimanche)En plus de *, il existe d'autres symboles avec des significations particulièresSymbole SignificationExplication* (astérisque) signifie à tout moment *6* * * : Indique que la commande est exécutée toutes les minutes à 6 heures tous les jours , (virgule) Séparé par des virgules pour indiquer la valeur de ce champ 10 8,9,10, * * * : Indique que la commande sera exécutée à 8h10, 9h10 et 10h10 tous les jours - (pôle du milieu)
    Par exemple :
    🎜 indique la plage de valeurs entre deux entiers 🎜🎜* 6 * * 1-2 : Indique que la commande est exécutée à 6 heures tous les lundis au mardi 🎜🎜🎜🎜/ (barre oblique) 🎜🎜 indique la fréquence à laquelle l'intervalle d'exécution est de 🎜🎜*/10 * * * * : Indique que la commande est exécutée toutes les dix minutes 🎜🎜🎜🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer