====== 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]]