nouvelles
Serverspace Technologies aux Emirats Arabes Unis : Lancement de Falconcloud
JH
Joe Harris
21 janvier 2021
Mise à jour en juin 7, 2023

Comment automatiser les tâches régulières avec Cron activé CentOS 8

CentOS Linux Entretien

Vous utilisez un autre système d'exploitation ?

Sélectionnez la version ou la distribution souhaitée.

Cron est un service qui s'exécute en arrière-plan et lance des tâches configurées selon un calendrier. Cela le rend très utile pour la maintenance du serveur. Dans ce didacticiel, nous verrons comment automatiser les tâches courantes à l'aide de cron on CentOS 8.

Installation de cron sur CentOS 8

Cron est présent sur CentOS 8 par défaut. Si pour une raison quelconque, il n'y est pas, vous pouvez l'installer avec la commande :

dnf install crontabs

Exécutons-le maintenant et ajoutons-le au démarrage :

systemctl enable --now crond.service

Paramètres cron de base

Pour affiner le temps et la fréquence d'exécution des tâches, il y a le crontab commande. Nous en reparlerons plus tard. De plus, les dossiers suivants existent pour faciliter l'ajout de tâches :

  • /etc/cron.hourly
  • /etc/cron.daily
  • /etc/cron.weekly
  • /etc/cron.monthly

Les scripts qui s'y trouvent sont exécutés à la fréquence spécifiée. Pour fonctionner correctement, les scripts doivent avoir des droits d'exécution et ne doivent pas contenir de points dans leurs noms.

Par défaut, n'importe quel utilisateur peut créer des tâches. Pour permettre la création de tâches pour certains utilisateurs, ajoutez-les au /etc/cron.allow dossier. Pour tous les autres, l'accès sera refusé.

Pour restreindre cette capacité à un utilisateur spécifique, il suffit d'ajouter son identifiant à la /etc/cron.deny fichier.

Cron écrit des journaux dans le fichier suivant : /var/log/cron.

Affiner les tâches cron

Pour gérer les tâches avec la possibilité de spécifier l'heure exacte et la fréquence d'exécution, utilisez la commande :

crontab -e

La configuration du planificateur s'ouvrira dans votre éditeur de texte par défaut (généralement vi). Pour configurer un autre éditeur de texte par défaut, utilisez la commande (insérez votre éditeur de texte préféré au lieu de "nano") :

export EDITOR=nano

Pour afficher les paramètres cron actuels, exécutez :

crontab -l

Pour afficher les paramètres cron d'un autre utilisateur, saisissez :

crontab -u user -l

Pour l'édition:

crontab -u user -e

Le crontab La commande fournit une vérification de la syntaxe lors de l'enregistrement pour éviter les erreurs. C'est pourquoi il est préférable d'utiliser cette commande pour configurer cron. Pour information, le fichier du planificateur peut être édité directement. Il est situé à / var / spool / cron /.

Il convient également de noter que les tâches assignées seront effectuées au nom de l'utilisateur qui les a ajoutées à son cron.
Les fichiers cron utilisent la syntaxe suivante :

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed

Le signe * signifie toutes les valeurs valides. Exemple de tâche Cron :

30 22 15 * * /opt/script.sh

Le scénario /opt/script.sh aura lieu le 15 de chaque mois à 22h30.

Caractères spéciaux et expressions cron

Virgule (,). Dans le planning, vous pouvez spécifier plusieurs valeurs séparées par des virgules pour effectuer la même tâche à des moments différents :

30 22 10,20,30 * *

Avec un tel record, la tâche sera lancée les 10, 20 et 30 de chaque mois.
Slach (/). Slash est utilisé pour indiquer une étape. Par exemple, l'exécution d'une tâche tous les 10 jours ressemblera à ceci :

30 22 */10 * *

Trait d'union (-). Pour spécifier une plage de valeurs, il y a un trait d'union. Par exemple, exécution quotidienne du 10 au 20 du mois :

30 22 10-20 * *

Variables cron spéciales :

  • @reboot - exécuté au démarrage du système
  • @annuellement ou @annuellement - une fois par an
  • @mensuel - une fois par mois
  • @weekly - une fois par semaine
  • @daily - une fois par jour
  • @hourly - toutes les heures
  • @minuit - à minuit

Mise en situation :

@daily /opt/script.sh

Voter:
5 sur 5
Note moyenne : 5
Noté par : 1
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies ainsi que Politique de confidentialité.