Crontab à Linux avec 20 exemples utiles pour planifier des emplois

Crontab à Linux avec 20 exemples utiles pour planifier des emplois

Exécutez-vous un travail cron sur votre serveur toutes les minutes? Êtes-vous un administrateur système ou un ingénieur qui doit gérer quotidiennement les travaux CRON? Continuez-vous à oublier la syntaxe pour mettre en place un nouveau travail cron? Si oui, lisez la suite.

Cron est un élément essentiel de tout système, car il automatise diverses tâches planifiées. La commande crontab est utilisée pour modifier et gérer les travaux Cron. Créer un travail cron n'est pas difficile, mais il peut devenir difficile lorsqu'il s'agit de plusieurs utilisateurs et environnements. La syntaxe de Crontab est principalement la même dans toutes les distributions et serveurs Linux, donc une fois que vous aurez compris, vous planifierez des tâches en un rien de temps!

Dans ce tutoriel, vous apprendrez à utiliser Crontab avec 20 exemples utiles pour planifier des travaux. Vous pouvez également utiliser Crontab pour que les tâches s'exécutent une seule fois dans le futur unique.

Si vous n'avez pas installé Crontab sur votre système, reportez-vous à l'article Installer Crontab dans Centos / Rhel.

Syntaxe Linux Crontab

Le format d'un fichier crontab est très simple: chaque ligne contient six champs, séparés par des espaces. Le premier champ spécifie la minute (0-59) lorsque le travail sera exécuté, le deuxième champ spécifie l'heure (0-23), le troisième champ spécifie le jour du mois (1-31), etc. Les caractères génériques peuvent également être utilisés dans les fichiers Crontab. Par exemple, un astérisque dans le quatrième champ indique que le travail doit être exécuté chaque semaine.

       

  • Minute - Une valeur minute peut être comprise entre 0 et 59
  • Heure - Une valeur d'heure peut être comprise entre 0-23
  • Jour du mois - Cette valeur peut entre 1-31. Pour les mois, avoir moins de jours ignoreront la partie restante
  • Mois de l'année - Cela peut être entre 1-12. Vous pouvez également définir cette valeur avec les trois premiers alphabets du mois comme janvier, février, mars, avril, etc.
  • Jour de la semaine - Cela peut être la valeur entre 0 et 7. Où 0 et 7 pour le dimanche 1 pour le lundi 2 pour mardi, etc. Vous pouvez également utiliser les trois premiers alphabets de jours comme le soleil, le lundi, le mar, le merde, etc.

Maintenant, les instructions ci-dessous décriront comment définir plusieurs valeurs ou gammes. Lire ci-dessous et comprendre.

  • ASTRICS (*) - Correspond à n'importe quoi
  • Plusieurs valeurs - Utilisez la commande (,) pour définir plusieurs valeurs comme le 2,4,8 ou le soleil, le vendredi ou janvier, oct, déc.C.
  • Définir la plage - Vous pouvez définir la gamme à l'aide du trait d'union comme: 1-10 ou 20-30 ou Sun-FRI ou FEB-APR
  • Définir plusieurs gammes - Vous pouvez définir plusieurs gammes de commandes séparées comme: Jan-Mar, Jul-Sep

Comment ajouter / modifier Crontab

Les fichiers Crontab sont généralement stockés dans le / etc / cron.D / répertoire sur les systèmes Linux. La commande crontab peut être utilisée pour modifier le fichier crontab.

crontab -e 

Par défaut, il modifiera les entrées Crontab de l'utilisateur actuellement connecté. Pour modifier un autre utilisateur crontab, utilisez la commande ci-dessous:

crontab -u nom d'utilisateur -e 

Changer la ÉDITEUR Variable d'environnement pour modifier votre éditeur par défaut.

Comment lister Crontab

Pour afficher les entrées Crontab des utilisateurs actuels, utilisez la commande suivante.

crontab -l 

Utiliser -U suivi du nom d'utilisateur pour afficher les entrées Crontab de l'utilisateur spécifié.

crontab -u nom d'utilisateur -l 

20 exemples utiles pour planifier Crontab

Voici la liste des exemples de planification des travaux CRON dans un système Linux en utilisant Crontab.

  1. Planifiez un cron à exécuter à 2 heures du matin par jour.
  2. Cela sera utile pour planifier quotidiennement les sauvegardes de la base de données.

    0 2 * * * / bin / sh Backup.shot 
    • Astérisque (*) est utilisé pour faire correspondre tous les enregistrements.
  3. Planifiez un cron pour exécuter deux fois par jour.
  4. La commande Exemple ci-dessous s'exécutera à 5 h et 17 h quotidien. Vous pouvez spécifier plusieurs horodatages par des virgules séparées.

    0 5,17 * * * / scripts / script.shot 
  5. Planifiez un cron pour exécuter chaque minute.
  6. Généralement, nous ne nécessitons aucun script pour exécuter chaque minute, mais dans certains cas, vous devrez peut-être le configurer.

    * * * * * / scripts / script.shot 
  7. Planifiez un cron pour exécuter tous les dimanches à 17 h.
  8. Ce type de cron est utile pour effectuer des tâches hebdomadaires, comme la rotation des journaux, etc.

    0 17 * * Sun / Scripts / Script.shot 
  9. Planifiez un cron pour exécuter toutes les 10 minutes.
  10. Si vous souhaitez exécuter votre script à 10 minutes d'intervalle, vous pouvez le configurer comme ce qui est ci-dessous. Ces types de Cons sont utiles pour la surveillance.

    * / 10 * * * * / scripts / moniteur.shot 

    */dix: signifie courir toutes les 10 minutes. Idem que si vous souhaitez exécuter toutes les 5 minutes Utiliser * / 5.

  11. Planifiez un cron à exécuter sur des mois sélectionnés.
  12. Parfois, nous devons planifier une tâche à exécuter pendant des mois sélectionnés uniquement. Un exemple de script ci-dessous se déroulera dans les mois de janvier, de mai et d'août.

    * * * Jan, mai, août * / script / script.shot 
  13. Planifiez un cron à exécuter les jours sélectionnés.
  14. Si vous avez besoin de planifier une tâche à exécuter pour les jours sélectionnés uniquement. L'exemple ci-dessous se déroulera chaque dimanche et vendredi à 17 h.

    0 17 * * Sun, ven / script / script.shot 
  15. Planifiez un cron à exécuter le premier dimanche de chaque mois.
  16. Pour planifier un script pour exécuter un script le premier dimanche n'est pas possible par paramètre de temps, mais nous pouvons utiliser la condition dans les champs de commande pour le faire.

    0 2 * * Sun [$ (Date +% D) -le 07] && / script / script.shot 
  17. Planifiez un cron pour exécuter toutes les quatre heures.
  18. Si vous souhaitez exécuter un script sur 4 heures d'intervalle. Il peut être configuré comme ci-dessous.

    0 * / 4 * * * / scripts / script.shot 
  19. Planifiez un cron pour exécuter deux fois chaque dimanche et lundi.
  20. Pour planifier une tâche pour exécuter deux fois dimanche et lundi seulement. Utilisez les paramètres suivants pour le faire.

    0 4,17 * * Soleil, lun / scripts / script.shot 
  21. Planifiez un cron pour exécuter toutes les 30 secondes.
  22. Pour planifier une tâche à exécuter toutes les 30 secondes, ce n'est pas possible par les paramètres temporels, mais cela peut être fait en planifiant le même cron deux fois que ci-dessous.

    * * * * * / scripts / script.sh * * * * * Sleep 30; / scripts / script.shot 
  23. Planifiez plusieurs tâches dans un seul cron.
  24. Pour configurer plusieurs tâches avec un seul cron peut être effectuée en séparant les tâches par le demi-colon (;).

    * * * * * / scripts / script.sh; / scripts / scrit2.shot 
  25. Planifiez les tâches pour exécuter chaque année (@yearly).
  26. @annuel L'horodatage est similaire à «0 0 1 1 *". Il exécutera une tâche à la première minute de chaque année, il pourrait utile d'envoyer des salutations du Nouvel An 🙂

    @yearly / scripts / script.shot 
  27. Planifiez les tâches pour exécuter mensuellement (@monthly).
  28. @mensuel L'horodatage est similaire à «0 0 1 * *". Il exécutera une tâche à la première minute du mois. Il peut être utile de faire des tâches mensuelles comme payer les factures et la facturation aux clients.

    @monthly / scripts / script.shot 
  29. Planifiez des tâches pour exécuter chaque semaine (@Weekly).
  30. UN @hebdomadaire L'horodatage est similaire à «0 0 * * Soleil". Il exécutera une tâche à la première minute de la semaine. Il peut être utile de faire des tâches hebdomadaires comme le nettoyage du système, etc.

    @weekly / bin / script.shot 
  31. Planifiez les tâches pour exécuter quotidiennement (@Daily).
  32. @quotidien L'horodatage est similaire à «0 0 * * *". Il exécutera une tâche à la première minute de chaque jour, il peut être utile de faire des tâches quotidiennes.

    @daily / scripts / script.shot 
  33. Planifiez les tâches pour exécuter toutes les heures (@Hourly).
  34. @hourly L'horodatage est similaire à «0 * * * *". Il exécutera une tâche à la première minute de chaque heure, il peut être utile de faire des tâches horaires.

    @hourly / scripts / script.shot 
  35. Planifier les tâches à exécuter sur le redémarrage du système (@RoBoot).
  36. @reboot est utile pour les tâches que vous souhaitez exécuter sur le démarrage de votre système. Ce sera le même que les scripts de démarrage du système. Il est utile pour démarrer automatiquement les tâches.

    @reboot / scripts / script.shot 
  37. Rediriger les résultats CRON vers un compte de messagerie spécifié.
  38. Par défaut, Cron envoie des détails à l'utilisateur actuel où Cron est planifié. Si vous souhaitez le rediriger vers votre autre compte, peut être fait en configurant la variable de messagerie comme ci-dessous

    crontab -l  Mail = bob 0 2 * * * / script / sauvegarde.shot 
  39. Apportez une sauvegarde de All Cron dans un fichier texte brut.
  40. Je recommande de garder une sauvegarde de tous les emplois dans un fichier. Cela vous aidera à récupérer Cron en cas de suppression accidentelle.

    Vérifiez le cron prévu actuel:

    crontab -l  Mail = Rahul 0 2 * * * / script / sauvegarde.shot 

    Sauvegarde Cron au fichier texte:

    # crontab -l> cron-backup.txt # chat cron-backup.Txt Mail = Rahul 0 2 * * * / Script / Sauvegarde.shot 

    Suppression de Cron planifié actuel:

    # crontab -r # crontab -l no crontab pour root 

    Restaurer Cons à partir du fichier texte:

    # crontab cron-backup.txt # crontab -l mail = Rahul 0 2 * * * / script / sauvegarde.shot 

Conclusion

Merci d'avoir lu cet article, j'espère que cela vous aidera à comprendre Crontab dans Linux. Pour planifier des tâches une fois, vous pouvez également utiliser Linux à la commande.