Crontab sous Linux: EXEMPLES de planification de tâches

Table des matières:

Anonim

Qu'est-ce que crontab?

Cron est nommé d'après le mot grec "Chronos" qui est utilisé pour le temps. C'est un processus système qui exécutera automatiquement les tâches selon le calendrier spécifique. Il s'agit d'un ensemble de commandes utilisées pour exécuter des tâches de planification régulières. Crontab signifie «table cron». Il permet d'utiliser le planificateur de travaux, connu sous le nom de cron pour exécuter des tâches.

Crontab est également le nom du programme, qui est utilisé pour éditer cette planification. Il est piloté par un fichier crontab, un fichier de configuration qui indique les commandes shell à exécuter périodiquement pour la planification spécifique.

Dans ce didacticiel sur le système d'exploitation, vous apprendrez:

  • Qu'est-ce que crontab?
  • Pourquoi utiliser CRONJOB?
  • Comment utiliser cron sous Linux?
  • Format Crontab Linux
  • Comment ajouter / modifier Crontab
  • Comment lister Crontab
  • Exemples importants de Crontab

Pourquoi utiliser Cronjobs?

Voici les raisons d'utiliser Cronjobs sous Linux:

  • Aide le système d'exploitation à effectuer une sauvegarde planifiée des fichiers journaux ou de la base de données.
  • Supprimer les anciens fichiers journaux
  • Archiver et purger les tables de la base de données
  • Envoyez tout e-mail de notification tel que des newsletters, un e-mail d'expiration de mot de passe
  • Nettoyage régulier des données mises en cache
  • Crontab est une option idéale pour automatiser les travaux Unix.
  • Il est utilisé pour automatiser la maintenance du système

Comment utiliser cron sous Linux?

Le pack système Linux a un planificateur de tâches utile nommé crontab. Crontab est populaire car il peut être programmé pour exécuter un processus automatisé en tant que root. Par conséquent, l'exécution d'un processus automatisé en tant que root facilite les modifications du système. Il vous suffit de modifier la tâche, puis d'attendre que la tâche soit relancée.

Format Crontab Linux

Crontab de Linux a six champs. Les cinq premiers champs définissent l'heure et la date d'exécution, et le 6ème champ est utilisé pour l'exécution de la commande.

Syntaxe de Crontab:

[Minute] [hour][Day_of_the_Month][Month_of_the_Year][Day_of_the_Week][command]

  • Astriques (*): à utiliser pour la correspondance
  • Définir la plage: vous permet de définir une plage à l'aide d'un trait d'union comme 1-10 ou 30-40 ou jan-mar, mon-wed.
  • Définir plusieurs plages: vous permet de définir différentes plages avec une commande séparée comme apr-jun, oct-dec.

Comment ajouter / modifier Crontab

L'utilisateur peut modifier ses tâches crontab à l'aide de la commande crontab suivante:

$ crontab -u -e

La commande ci-dessus ouvrira la configuration crontab personnelle de votre système informatique, qui peut être modifiée à l'aide de votre éditeur de texte par défaut.

Il n'est pas nécessaire de redémarrer votre crontab car il récupérera automatiquement vos modifications lorsque vous utiliserez la commande suivante.

$ crontab -l

Pour supprimer vos tâches crontab, utilisez la commande suivante.

$ crontab -r

Pour ajouter ou mettre à jour un travail dans crontab, utilisez la commande ci-dessous.

crontab -e

Commande pour modifier le crontab d'un autre utilisateur

crontab -u username -e

Comment lister Crontab

Commande pour afficher les entrées crontab de l'utilisateur actuel

crontab -l

Commande pour afficher les entrées crontab d'un utilisateur spécifique:

crontab -u username -l

Exemples importants de Crontab

Voici quelques exemples importants de Crontab

Description Commander
Commande Cron pour effectuer les différentes tâches de planification. La commande ci-dessous est exécutée à 7 h et 17 h tous les jours.
0 7,17 * * * /scripts/script.sh
Commande pour exécuter un cron toutes les 5 minutes.
*/5* * * * * /scripts/script.sh
La commande Cron scheduler vous aide à exécuter la tâche tous les lundis à 5 heures du matin. Cette commande est utile pour effectuer des tâches hebdomadaires telles que le nettoyage du système.
0 5 * * mon /scripts/script.sh
La commande exécute votre script à 3 minutes d'intervalle.
*/3 * * * * /scripts/monitor.sh
Commande pour planifier un cron auquel s'exécute pendant un mois spécifique. Cette commande pour exécuter des tâches s'exécute en février, juin et septembre. Parfois, nous devons planifier une tâche pour exécuter une tâche mensuelle sélectionnée.
* * * feb,jun,sep * /script/script.sh
Commande à exécuter les jours sélectionnés. Cet exemple s'exécutera chaque lundi et mercredi à 17 h 00.
0 17 * * mon,wed /script/script.sh
Cette commande permet à cron de s'exécuter le premier samedi de chaque mois.
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh
Commande pour exécuter un script pendant 6 heures d'intervalle afin qu'il puisse être configuré comme ci-dessous.
0 */6 * * * /scripts/script.sh
Cette commande planifie une tâche à exécuter deux fois le lundi et le mardi. Utilisez les paramètres suivants pour le faire.
0 4,17 * * mon,tue /scripts/script.sh
La commande programme un cron à exécuter toutes les 15 secondes.
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh
Commande pour planifier des tâches sur une base annuelle. L'horodatage @yearly est = à "0 0 5 1 *". Cela exécute la tâche dans la cinquième minute de chaque année. Vous pouvez l'utiliser pour envoyer des vœux de nouvel an.
@yearly /scripts/script.sh
Commandez des tâches à exécuter sur une base mensuelle. L'horodatage @monthly est similaire à "0 0 1 * *". Cette expression de commande permet l'exécution d'une tâche dans la première minute du mois.
@monthly /scripts/script.sh
Commande pour exécuter plusieurs tâches à l'aide d'un seul cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Commande pour planifier des tâches à exécuter sur une base hebdomadaire. L'horodatage @weekly est similaire à "0 0 4 * sun". Ceci est utilisé pour effectuer les tâches hebdomadaires telles que le nettoyage du système, etc.
@weekly /bin/script.sh
La tâche sera programmée pour s'exécuter quotidiennement. L'horodatage @daily est similaire à "0 2 * * *". Il exécute la tâche dans la deuxième minute de chaque jour.
@daily /scripts/script.sh
Permet aux tâches de s'exécuter toutes les heures. L'horodatage @hourly est similaire à "0 * * * *". Cette commande exécute une tâche dans la première minute de chaque heure.
@hourly /scripts/script.sh
Permet aux tâches de s'exécuter lors du redémarrage du système. L'expression @reboot est utile pour les tâches que le système souhaite exécuter au démarrage de votre système. Ceci est utile pour démarrer automatiquement les tâches en arrière-plan.
@reboot /scripts/script.sh

Résumé:

  • Cron est nommé d'après le mot grec "Chronos" qui est utilisé pour le temps.
  • Cronjobs aide le système d'exploitation à effectuer une sauvegarde planifiée des fichiers journaux ou de la base de données.
  • Le pack système Linux a un planificateur de tâches utile nommé crontab qui peut être planifié pour exécuter un processus automatisé en tant que root.
  • Crontab de Linux a six champs. Les cinq premiers champs définissent l'heure et la date d'exécution, et le 6ème champ est utilisé pour l'exécution de la commande.