Difference between revisions of "Cron/Fr"

From TuxFamilyFAQ
Jump to navigationJump to search
Line 13: Line 13:
 
== Langages supportés ==
 
== Langages supportés ==
  
Vous pouvez utiliser le langage de votre choix (Bash, KSH, Perl, Ruby, Python, PHP, ...) pour rédiger le script que vous souhaitez exécuter, le service s'attend simplement à ce qu'il soit exécutable (mais n'oubliez pas [http://fr.wikipedia.org/wiki/Shebang la ligne Shebang]).
+
Vous pouvez utiliser le langage de votre choix (Bash, KSH, Perl, Ruby, Python, PHP...) pour rédiger le script que vous souhaitez exécuter, le service s'attend simplement à ce qu'il soit exécutable (mais n'oubliez pas [http://fr.wikipedia.org/wiki/Shebang la ligne Shebang]).
  
 
== Dépendances ==
 
== Dépendances ==

Revision as of 19:02, 13 April 2010

Cron


Description

Le service "Cron Job", nommé d'après le célèbre programme Unix éponyme, vous permet d'exécuter régulièrement un script de votre choix sur la plateforme TuxFamily. Ce script sera exécuté par votre utilisateur comme si vous étiez loggué en SSH. S'il écrit quoi que ce soit sur la sortie standard ou sur la sortie d'erreur, vous recevrez un email de cron@tuxfamily.net mentionnant :

  • le code de retour du script ;
  • les variables d'environnement avec lesquelles il a été exécuté ;
  • la sortie en question.

Langages supportés

Vous pouvez utiliser le langage de votre choix (Bash, KSH, Perl, Ruby, Python, PHP...) pour rédiger le script que vous souhaitez exécuter, le service s'attend simplement à ce qu'il soit exécutable (mais n'oubliez pas la ligne Shebang).

Dépendances

Création

Utilisez votre accès SSH pour créer/poser/tester le script de votre choix sur la plateforme TuxFamily. Plus exactement, vous devez poser votre script quelque part dans l'arborescence /home/votreprojet. Vous ne pouvez pas le mettre dans votre home.

Assurez-vous que le fichier ainsi créé :

  • appartient à votre utilisateur Unix (ou du moins à l'utilisateur qui fera la demande de job dans le panel) ;
  • appartient au groupe Unix correspondant à votre projet ;
  • est lisible et exécutable pour vous et les membres de votre groupe et n'est pas accessible en écriture pour les autres. Les permissions idéales pour un script sont 770.

Ensuite, identifiez-vous sur le panel de TuxFamily, cliquez sur le projet concerné par l'ajout de votre script, repérez l'encart "Cron Jobs for myproject" et cliquez sur le lien "Créer". Vous devez alors remplir un formulaire comportant 4 champs :

  • le chemin absolu de votre script tel que vous le voyez avec votre accès SSH - ce chemin ne doit comporter que des slashs, des lettres (minuscules ou majuscules), des nombres, des underscores, des tirets ou des points. Oubliez les accolades, crochets, caractères accentués et autres espaces insécables...
  • l'intervalle d'exécution ; contrairement au programme Cron qui permet d'exécuter des commandes à des dates et heures précises, le service Cron Job exécutera votre commande toutes les `n' minutes, et c'est cette valeur que vous devez spécifier dans ce champ. Si vous rentrez une valeur inférieure à 15 minutes, la valeur finalement prise en compte sera... 15 minutes :)
  • l'adresse qui recevra les mails si le script génère une sortie
  • une description... en effet, les demandes de Cron Job passent également par la case Modération :)

Dernière recommandation : comme indiqué lorsque vous vous loggez en SSH :

 Soyez gentil... la viabilite de ce service depend de vous.

TuxFamily ne vous fournit pas ce service pour que vous mettiez ses machines à genoux à coup de batchs consommateurs de ressources. Réfléchissez à la puissance que demandera votre script avant de le planifier. Sachez d'ailleurs qu'il tournera dans un environnement comportant certaines restrictions ; notamment, la priorité utilisée (voir `man nice') est la plus faible et la durée d'exécution maximale est de 1 heure - au-delà, votre script sera tué.