accueil > Gestion des paquets et du système > crontab

Guide complète de la commande crontab : Comment planifier des tâches répétitives

`crontab` est une commande utilisée dans les systèmes Linux/Unix pour planifier l'exécution périodique de commandes ou de scripts à des moments définis par l'utilisateur. Elle joue un rôle très important lors de l'automatisation de tâches répétitives telles que la maintenance système, les sauvegardes et la synchronisation des données.

Aperçu de crontab

crontab est l'abréviation de 'cron table', qui est un fichier contenant les tâches planifiées de l'utilisateur. Chaque ligne de ce fichier définit une tâche (job) et le démon cron lit ce fichier pour exécuter les tâches à des moments définis.

Structure des champs de crontab

Chaque ligne du fichier crontab est composée de 6 champs. Les 5 premiers champs définissent le moment d'exécution, et le dernier champ définit la commande à exécuter.

Détails des champs de temps
Champ Description Plage
1 Minutes (Minute) 0-59
2 Heures (Hour) 0-23
3 Jour du mois (Day of month) 1-31
4 Mois (Month) 1-12
5 Jour de la semaine (Day of week) 0-7 (0 et 7 sont le dimanche)
6 Commande Commande ou script à exécuter

Caractères spéciaux

Vous pouvez utiliser des caractères spéciaux dans les champs de temps pour spécifier le temps de manière plus flexible.

  • `*`: Tout le temps (ex: chaque minute, chaque heure)
  • `,`: Spécifier plusieurs valeurs (ex: `1,3,5` -> 1, 3, 5 minutes)
  • `-`: Spécifier une plage (ex: `10-15` -> de 10 minutes à 15 minutes)
  • `/`: Spécifier un intervalle (ex: `*/10` -> toutes les 10 minutes)

Options principales

Découvrez les options de gestion du fichier crontab, qui sont les fonctionnalités clés de la commande crontab.

1. Gestion du fichier crontab

2. Gestion des utilisateurs

Commande générée :

Essayez de combiner les commandes.

Description:

`crontab` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples courants

Apprenez à configurer diverses tâches répétitives en utilisant crontab.

Exécuter le script de sauvegarde à 2h30 chaque jour

crontab -e
30 2 * * * /home/user/backup.sh

Configure l'exécution du script `/home/user/backup.sh` tous les jours à 2h30 du matin.

Mettre à jour le système à 8h chaque lundi

crontab -e
0 8 * * 1 sudo apt update && sudo apt upgrade -y

Met à jour les paquets du système chaque lundi à 8h du matin. (Basé sur Ubuntu/Debian)

Nettoyer le fichier journal toutes les 10 minutes

crontab -e
*/10 * * * * echo '' > /var/log/app.log

Efface le contenu du fichier `/var/log/app.log` toutes les 10 minutes.

Redémarrer le serveur web à une heure spécifique

crontab -e
0 4 1 * * sudo systemctl restart nginx

Redémarre le serveur web (nginx) le 1er de chaque mois à 4h du matin.

Exécuter une tâche chaque heure de 6h à 18h

crontab -e
0 6-18 * * * /path/to/myscript.sh

Exécute `myscript.sh` à chaque heure pleine entre 6h et 18h.

Installation de crontab (si nécessaire)

Il est généralement préinstallé sur la plupart des distributions Linux, mais dans certaines configurations minimales, il peut être nécessaire d'installer le paquet du démon cron.

Debian/Ubuntu

sudo apt update
sudo apt install cron

Installe le démon cron sur un système basé sur Ubuntu ou Debian.

CentOS/RHEL/Fedora

sudo yum install cronie
sudo systemctl enable crond
sudo systemctl start crond

Installe le démon cron sur un système basé sur CentOS, RHEL ou Fedora.


commandes associées

Des commandes fonctionnellement similaires ou souvent utilisées ensemble.


Commandes de la même catégorie