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.
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.