Dans ce tutoriel, nous vous fournirons l'introduction de base de tout ce que vous devez comprendre pour planifier un emploi avec Cron. Cela comprend la syntaxe de base de Cron, l'édition de fichiers crontab, planifier un emploi avec cron avec quelques exemples, voir Cron Job, etc.
Bases de Cron Job
Comprenons certaines bases d'un travail cron.
Qu'est-ce que Cond?
Cond est le démon du système Linux qui s'exécute en arrière-plan et vérifie chaque minute pour voir s'il y a un travail prévu à ce moment-là. S'il y en a, il effectue ce travail, sinon il reste inactif.
Syntaxe Cron Job
La syntaxe pour le travail cron est la suivante:
* * * * * Commande / script
À partir de la gauche:
Pour spécifier plusieurs valeurs dans un champ, utilisez les symboles de l'opérateur suivant:
Édition de fichiers crontab
Crontab est un fichier qui contient les travaux planifiés dans une syntaxe spécifique. Il existe deux types de fichiers Crontab; L'un pour les travaux CRON spécifiques au système et l'autre pour les travaux CRON spécifiques à l'utilisateur.
Système Cron Jobs
Les travaux CRON à l'échelle du système sont situés dans le / etc / crontab fichier et / etc / cron.d répertoire, et ils sont passés à travers / etc / cron.de temps, / etc / cron.quotidien, / etc / cron.hebdomadaire et / etc / cron.mensuel. Seul un administrateur système peut accéder à ces fichiers.
Un administrateur système peut définir un travail cron en utilisant la commande suivante:
$ nano / etc / crontab
Voici la syntaxe du travail dans le / etc / crontab déposer:
# min hr dayofmonth mois de jour de nom d'utilisateur de la semaine
* * * * * User1 ifconfig
Travaux de cron spécifiques à l'utilisateur
Les travaux CRON spécifiques à l'utilisateur sont situés dans le /var / spool / cron / crontabs annuaire. Bien que vous puissiez modifier ces emplois manuellement, il est recommandé de modifier ces emplois à l'aide de la commande crontab -e.
Un utilisateur standard peut définir un travail cron en utilisant la commande suivante:
$ crontab -e
Par exemple, si vous êtes connecté en tant qu'utilisateur «test», l'exécution de la commande Crontab -E modifiera le fichier Crontab pour l'utilisateur «test». De même, si vous êtes connecté en tant qu'utilisateur racine, la commande crontab -e modifiera le fichier crontab pour l'utilisateur racine.
Émettez la commande ci-dessous dans le terminal pour modifier le fichier crontab pour tout autre utilisateur:
$ sudo crontab -u-e
Par exemple, si vous êtes connecté en tant qu'utilisateur «test1» et que vous souhaitez modifier le fichier Crontab pour l'utilisateur «test2», la commande serait:
$ sudo crontab -u test2 -e
Voici la syntaxe du travail cron qui peut être ajoutée dans le fichier Crontab:
# m h dayofmonth mois de jour de la semaine
* * * * * ifconfig
Vous pouvez voir dans les travaux spécifiques à l'utilisateur qu'il n'y a pas de «nom d'utilisateur» déposé.
Commandes crontab
La commande crontab est utilisée pour modifier, répertorier et supprimer les travaux CRON:
Planifier un emploi avec cron
Avec Cron, vous pouvez exécuter un travail à un moment précis, une date et des intervalles avec une unité minimale en minutes, je.e., vous pouvez exécuter un emploi à chaque minute.
Pour planifier un emploi avec Cron, ouvrez le fichier Crontab en utilisant la méthode discutée dans la section précédente. Une fois que vous avez ouvert le fichier Crontab, vous serez invité à sélectionner un éditeur de texte. Tapez un nombre pour choisir votre éditeur de texte préféré. Faites défiler vers le bas jusqu'au bas du fichier et ajoutez des travaux dans la syntaxe décrite ci-dessus. Chaque ligne d'un fichier spécifie une commande. Les cinq premières entrées de la ligne spécifient l'heure prévue, et la dernière entrée spécifie quelle commande ou script devrait s'exécuter.
Exemple:
La ligne suivante dans le fichier Crontab planifiera le travail Cron pour exécuter la commande / script à toutes les 30 minutes après 5 heures de tous les jours de semaine du lundi au samedi.
* / 30 5 * * 1-6 Commande / script
Minutes
Dans ce domaine, nous spécifions les minutes où nous voulons que la commande soit exécutée. Il est spécifié de 0 à 59. Le * dans ce domaine signifie exécuter le travail à chaque minute. Dans la ligne Crontab ci-dessus, le * / 30 dit au travail cron d'exécuter la commande / script spécifiée toutes les 30 minutes.
Heures
Dans ce domaine, nous spécifions les heures où nous voulons que la commande soit exécutée. Il est spécifié de 0 à 23. Le * dans ce domaine signifie exécuter le travail toutes les heures. Dans la ligne Crontab ci-dessus, la valeur 5 indique au travail cron d'exécuter la commande / script spécifiée toutes les cinq heures.
Jour du mois
Dans ce domaine, nous spécifions les jours particuliers de mois lorsque nous voulons que la commande soit exécutée. Il est spécifié de 1 à 31. Le * dans ce domaine signifie chaque jour. Dans la ligne Crontab ci-dessus, le * dit au travail cron d'exécuter la commande / script spécifiée tous les jours.
Mois de l'année
Dans ce domaine, nous spécifions les mois particuliers lorsque nous voulons que la commande soit exécutée. Il est spécifié de 1 à 12. Le * dans ce domaine signifie chaque mois. Dans la ligne Crontab ci-dessus, le * dit au travail cron d'exécuter la commande / script spécifiée chaque mois.
Jour de la semaine
Dans ce domaine, nous spécifions les jours particuliers de la semaine où nous voulons que la commande soit exécutée. Il est spécifié de 0 à 6 du dimanche au samedi (0 pour le dimanche et 6 pour samedi). Le * dans ce domaine signifie chaque jour dans une semaine. Dans la ligne Crontab ci-dessus, le * dit au travail cron d'exécuter la commande / script spécifiée tous les jours dans une semaine.
Exemples de travaux cron
Voici quelques exemples de travaux Cron:
Exécutez un travail cron toutes les 15 minutes
Pour planifier un travail cron pour fonctionner toutes les 15 minutes, ajoutez la ligne ci-dessous dans le fichier Crontab:
* / 15 * * * * Commande / script
Exécutez un travail cron à 5 heures du matin tous les jours
Pour planifier un travail cron pour fonctionner à 5 heures du matin tous les jours, ajoutez la ligne ci-dessous dans le fichier Crontab:
0 5 * * * Commande / script
Exécutez un travail cron à 17 h tous les jours
Pour planifier un travail cron pour fonctionner à 17 h tous les jours, ajoutez la ligne ci-dessous dans le fichier Crontab:
0 17 * * * Commande / script
Exécutez un travail cron à 9 h le premier jour de chaque mois
Pour planifier un travail CRON pour fonctionner à 9 h le premier jour de chaque mois, ajoutez la ligne ci-dessous dans le fichier Crontab:
0 9 1 * * Commande / script
Exécuter un travail cron toutes les heures à chaque 15 mars
Pour planifier un travail cron toutes les heures tous les 15 mars, ajoutez la ligne ci-dessous dans le fichier Crontab:
0 * 15 3 * Commande / script
Exécutez un travail cron toutes les 5 heures
Pour planifier un travail Cron toutes les 5 heures, ajoutez la ligne ci-dessous dans le fichier Crontab:
0 * / 5 * * * Commande / script
Exécutez un travail cron toutes les 15 minutes
Pour planifier un travail cron pour fonctionner toutes les 15 minutes, ajoutez la ligne ci-dessous dans le fichier Crontab:
* / 15 * * * *
Utilisation de cordes
Les chaînes suivantes peuvent également être utilisées pour définir un travail:
Par exemple, pour exécuter un script ou une commande chaque semaine, l'entrée dans le fichier crontab serait:
@Weekly Commande / script
Répertoires cron prédéfinis
Il existe des répertoires Cron prédéfinis dans Linux où les scripts stockés sont automatiquement exécutés. Si nous plaçons un script sous ces répertoires, il sera automatiquement exécuté à l'heure configurée.
Par exemple, pour exécuter un script une fois par mois, vous devrez le placer dans le / etc / cron.mensuel.
Voir les travaux cron
Afficher les travaux pour l'utilisateur actuel
Utilisez la commande suivante pour afficher tous les travaux CRON planifiés pour l'utilisateur actuel:
$ crontab -l
Afficher les travaux pour les utilisateurs root
Pour afficher tous les travaux planifiés de l'utilisateur racine, émettez la commande suivante dans le terminal:
$ cat / etc / crontab
Vous devrez vous connecter en tant qu'utilisateur racine ou exécuter la commande comme sudo.
Afficher les travaux pour les autres utilisateurs
Pour afficher tous les travaux planifiés d'un utilisateur spécifique, émettez la commande suivante dans le terminal remplaçant le nom d'utilisateur réel:
$ sudo crontab -u-l
Pour exécuter cette commande, vous aurez besoin de privilèges sudo.
Voir les travaux horaires de Cron
Pour afficher tous les travaux cron configurés pour s'exécuter toutes les heures, émettez la commande suivante dans le terminal:
$ ls -la / etc / cron.de temps
Voir les travaux quotidiens de Cron
Pour afficher tous les travaux cron configurés pour s'exécuter quotidiennement, émettez la commande suivante dans le terminal:
$ ls -la / etc / cron.quotidien/
Voir les travaux hebdomadaires Cron
Pour afficher tous les travaux cron configurés pour s'exécuter chaque semaine, émettez la commande suivante dans le terminal:
$ ls -la / etc / cron.hebdomadaire/
Voir les travaux de cron mensuels
Pour afficher tous les travaux cron configurés pour s'exécuter mensuellement, émettez la commande suivante dans le terminal:
$ ls -la / etc / cron.mensuel/
Sauvegarder tous les travaux cron
Il est recommandé de conserver une sauvegarde de tous les travaux Cron dans un fichier afin que vous puissiez récupérer en cas de suppression. Pour effectuer une sauvegarde de tous les travaux actuels, utilisez l'opérateur de redirection pour rediriger la sortie de Crontab -L vers un fichier.
$ crontab -l> backup_cron.SMS
Supprimer tous les travaux de cron prévus
Afin de supprimer tous les travaux CRON planifiés, utilisez le drapeau -r comme suit:
$ crontab -r
Permission de Cron
Nous pouvons limiter l'accès à la commande crontab via deux fichiers: / etc / cron.Autoriser et / etc / cron.refuser.
Générateurs de syntaxe Crontab
Il existe certains sites Web qui permettent de générer une syntaxe pour les crontabs. Ces sites Web facilitent la génération d'expression de Crontab sans avoir à se souvenir de la syntaxe. Bien qu'il existe divers sites Web disponibles pour les générateurs de syntaxe tels que CrontabGenerator.com, crontab-générateur.org et cronmaker.com. Celui que je préfère surtout et trouvé utile est le crontab.gourou. En fonction de la saisie de l'utilisateur, il génère une expression Crontab que vous pouvez copier-coller dans le fichier crontab.
Conclusion
Dans ce tutoriel, nous avons expliqué les bases de Cron Jobs, sa syntaxe et comment le configurer. Nous avons également discuté de la façon de voir Cron Jobs, de créer une sauvegarde et de les supprimer si vous n'êtes plus nécessaire.