====== Automatisation des tâches sur un serveur Debian ======
C'est l'un des avantages d'avoir un serveur dédié, l'automatisation des tâches. Sur un serveur Linux, le système d'automatisation repose sur l'utilitaire **cron**. Vous trouverez des scripts d'automatisation en fin de page.
===== L'utilitaire CRON =====
CRON est un petit utilitaire fort utile dans la gestion des serveurs Unix / Linux. Il permet d'exécuter automatiquement une application, une commande, ou une tâche spécifique à intervalles réguliers ou bien à des moments précis. La commande CRON est utilisée pour automatiser des sauvegardes (on parle de backup), notamment à des heures où le serveur est le moins sollicité comme la nuit où le nombre de visiteurs est beaucoup plus faible qu'en journée.
==== La syntaxe de la commande CRON ====
Pour éditer la table CRON, on utilise la commande //crontab -e//. Pour éditer la table CRON pour un utilisateur spécifique, on utilise cette commande //crontab -e -u utilisateur//.
Chaque ligne de la table correspond à la tâche a exécuter et est notée de la façon suivante :
//mm hh jj MMM JJJ tâche > log//
* //mm// correspond aux minutes (de 0 à 59).
* //hh// correspond aux heures (de 0 à 23).
* //jj// correspond aux numéros du jours du mois (de 0 à 31).
* //MMM// correspond aux numéros du mois (de 1 à 12) ou l'abréviation du nom du mois (Jan,Feb,...).
* //JJJ// correspond aux noms du jour (0 pour dimanche, 1 pour lundi, ...).
* //tâche// correspond au nom du script ou de la commande à exécuter.
* // log// correspond au nom du fichier log où sera stocké le journal des opérations. Si la clause //> log// n'est pas spécifiée, CRON enverra automatiquement un mail de confirmation. Pour éviter cela il suffit de spécifier //> /dev/null//.
Pour chaque unité de temps (minute/heure/...), les valeurs peuvent prendre les notations suivantes :
* //*// Correspond à chaque unité de temps.
* //3-7// Correspond aux unités de temps 3,4,5,6,7.
* //*/10// Correspond à toute les 10 unités de temps (0,10,20,30,...).
* //2,15// Correspond aux unités de temps 2 et 15.
==== Quelques exemples ====
Voici quelques exemples pour mieux montrer la syntaxe de la commande CRON
* lancement du script clamdmon.sh tous les jours à 4h00
//0 4 * * * /usr/sbin/clamdmon.sh > /var/log/daemon.log//
* lancement du script clamdmon.sh tous les jours à 4h00 & 19h00
//0 4,19 * * * /usr/sbin/clamdmon.sh /var/log/daemon.log//
* lancement du script clamdmon.sh tous les 5 du mois à 2h30
//30 2 5 * * /usr/sbin/clamdmon.sh /var/log/daemon.log//
* lancement du script clamdmon.sh tous les mardi,mercredi,jeudi du mois à 12h30
//30 12 * * 3-5 /usr/sbin/clamdmon.sh /var/log/daemon.log//
* lancement du script clamdmon.sh tous les 10 minutes
//*/10 * * * * /usr/sbin/clamdmon.sh /var/log/daemon.log//
==== Configuration de cron ====
Pour configurer cron, il vous suffit de tapez cette ligne de commande en //root//
crontab -e
Ensuite, il ne vous reste plus qu'à compléter le fichier.
Vous pouvez aussi spécifier un utilisateur pour l'exécution de la commande cron.
Par exemple, nous voulons exécuter une commande pour l'utilisateur amavis
crontab -e amavis
Dans ce cas précis, il faut vous assurer que l'utilisateur spécifié a les droits d'accès a votre script.
===== Scripts d'automatisation =====
* [[serveur-debian-automatisation:scripts-debian-alerte-modification-fichier|Script d'alerte de modification de fichiers]]
===== Auteurs et sources =====
* Auteur : [[:user:montuy337513]]
===== Navigation =====
* [[:accueil|Accueil]]
* [[:serveur-debian-securite]]
* [[:serveur-debian-general]]
* [[:serveur-debian-automatisation]]
* [[:serveur-debian-file]]
* [[:serveur-debian-log]]
* [[:serveur-debian-user-groupe]]
* [[:serveur-debian-apache2]]
* [[:serveur-debian-postfix]]
* [[:serveur-debian-mysql]]
* [[:serveur-debian-divers]]