|
Recherche |
Dans Linux, il existe un système permettant de traiter automatiquement des tâches après les avoir planifiées, en déterminant la fréquence d'exécution et la date et heure de lancement de la tâche, ce genre de routine est très souvent utilisé pour des tâches d'administration système permettant de garder votre système à jour. Par exemple, effectuer des copies de sauvegarde périodiques, surveiller le système, exécuter des scripts personnalisés, etc. Il existe une crontab par utilisateur. Seul root peut consulter chacune d'entre elles. Chacune des lignes du fichier /etc/crontab a le format : minute hour day month dayofweek command Chaque ligne doit comporter obligatoirement 6 colonnes : * minute ? nombre entier entre 0 et 59 * hour ? nombre entier entre 0 et 23 *day ? nombre entier entre 1 et 31 (si le mois est spécifié, le jour doit être valide) * month ? nombre entier entre 1 et 12 (ou abréviation du nom du mois) * dayofweek ? nombre entier entre 0 et 7, 0 ou 7 représentant le dimanche (ou l'abréviation du jour de la semaine) * command ? la commande à exécuter. La commande peut être une commande comme ls /proc >> /tmp/proc ou la commande d'exécution d'un script personnalisé dont vous êtes l'auteur. Pour les valeurs ci-dessus, un astérisque (*) peut être utilisé pour indiquer toutes les valeurs valides. Par exemple, un astérisque utilisé pour la valeur du jour signifie une exécution de la commande tous les jours (avec respect des restrictions des autres valeurs). Un trait d'union (-) placé entre deux nombres entiers indique un intervalle de temps. Par exemple, 1-4 indique toutes les minutes comprises entre 1 et 4. Une liste de valeurs séparées par des virgules (,) correspond à une liste de valeurs. Par exemple 0, 10, 20, 30 indique les minutes 0, 10, 20 et 30 (toutes les 10 minutes). La barre oblique (/) peut être utilisée pour spécifier des valeurs échelonnées. Pour passer un nombre entier dans une gamme, faites-la suivre de / Les lignes commençant par un signe dièse (#) correspondent à des commentaires et ne sont pas traitées. Pour rappel ces tâches ne sont pas accessibles pour les offres Start et 1000gp. Comment exécuter un script automatiquement sur le serveur mutualisé (en CRON) ? D'abord, il faut s'assurer que le script fonctionne en mode shell, c'est à dire qu'il est capable de s'exécuter depuis la ligne de commande. Pour cela, il faut placer dans la première ligne #!/usr/local/bin/php s'il s'agit d'un script php, #!/usr/bin/perl si c'est un script perl, ou #!/bin/bash pour un script shell, puis utiliser la commande chmod 700 script.cgi sur le script. Si vous avez l'accès telnet/ssh, vous pouvez tester son exécution avec ./script.cgi N'oubliez pas d'utiliser la commande "cd /home/login" au début de votre script, ou bien d'utiliser des chemins absolus lorsque vous précisez le nom d'un fichier (par exemple /home/login/texte.txt au lieu de texte.txt), car votre script s'exécutera dans le répertoire. Une fois que vous êtes sûr du bon fonctionnement de votre script en mode shell, vous pouvez activer des tâches CRON sur votre hébergement GP ou PLAN. Pour cela il faut aller sur votre Manager OVH, sur la section Hébergement, option « Planificateur de tâches » : ![]() Vous trouverez dans cette rubrique la liste de vos tâches planifiées, avec possibilité de modification et de contrôle de leur exécution. Cliquez sur « Création » pour mettre en place un nouveau CRON : ![]() Indiquez alors : - l'emplacement du script à exécuter (où se trouve le fichier sur votre FTP) - le langage utilisé par ce script (PHP 4, PHP 5 ou autre) - une description de votre tâche (pour information sur votre Manager) Choisissez ensuite la périodicité d'exécution de votre CRON, lequel peut être lancé tous les jours et une fois par heure au maximum. Confirmez la planification en cliquant sur le bouton « Valider ». |