Cron sur version 1.6 sur serveur 1&1

Cron sur version 1.6 sur serveur 1&1

par Association fsf,
Nombre de réponses : 47

Bonjour à tous ( et bonnes vacances à ceux sont avec nous!)

Grâce aux différents conseils de ce forum, j'ai réussi à installer moodle 1.6 sur le servur 1&1. Tout fonctionne correctement jusqu'à présent.

Je progresse et je souhaite maintenant installer un cron pour le suivi des forums à travers la messagerie.

J'ai consulté les différents échanges sur les forums à ce sujet mais celà reste encore confus.

Je suis donc à la recherche des informations suivantes :

1&1 possède t-il la fonction cron accessible pour ses abonnés?

Si oui quelle est la procédure pour sa mise en oeuvre?

Sinon, quelles autres solutions et leurs mise en oeuvre ( j'ai vu qu'il y avait webcron qui semble ne pas bien marcher en ce moment)

Encore merci pour vos contributions et bonnes vacances pour ceux qui ont la chance d'en avoir sourire

 

 

Moyenne des évaluations  -
En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Mathieu PLAS,
Pour mettre en place une tâche cron, il faut que tu utilises l'accès SSH fourni par 1&1. Pour cela, télécharge par exemple le logiciel Putty et connecte-toi à l'aide de tes identifiants 1&1. Là tu auras accès à ton espace sur le serveur et pourras mettre en place une tâche cron. Il y a différents sujets qui en expliquent la mise en place en ligne de commande.
En réponse à Mathieu PLAS

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Merci, je m'y mets et je reviens en cas de problèmes.

 

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Désolé de revenir sur la question, un peu bredouille!

J'ai installé winscp3 qui fonctionne. En ce qui concerne la procédure pour installer le cron, je n'ai rien vu comme documentation sur le site de 1&1. Pouvez-vous m'aiguiller encore? je ne maîtrise pas du tout cette fonction, alors je ne voudrais pas trop bricoler mon installation. Je continue à chercher les échanges sur le sujet dans le forum.

Merci pour les contributions

 

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Nathalue(Nathalie?) BERGEROT a publié en novembre 2005 un document que je remets en fichier joint, qui explique très bien la démarche à suivre pour installer le cron sur le serveur 1&1.

Bonne chance.

 

En réponse à Christian Bocquet

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Je venais justement informer que j'avais trouvé cette discussion et ce fichier!

Merci Christian, je pense que cette fois-ci çà ira

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Bonjour,

Avec tous les précieux conseils, j'ai réussi cette fois-ci à installer le cron sur le serveur 1&1.

Avec la commande crontab -l j'ai vu apparaitre mes commandes tapées pour activer le cron.

Pour m'assurer de son fonctionnement sur ma plate forme de test, j'ai ouvert un forum et j'ai posté aussi un message à partir d'un compte étudiant. Le cron est programmé pour 10mn.

Passé ce délai ( 30mn, puis 1 heure) je n'ai rien dans ma messagerie alors que les profils sont bien configurés pour recevoir les messages des forums.

Mes questions:

1)Le fait de voir sa commande cron affiché avec crontab -l confirme t-il vraiment que la commande est prise en compte par le serveur? Il y a t-il un moyen de le vérifier sur le serveur.

2) Il y a t-il un rapport avec le cron automatique des statisitiques qui n'est pas activé?

Merci d'avance

 

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
    Bonjour,

préambule nécessaire pour que ton test fonctionne, les comptes sur lesquels tu espères recevoir une copie du message posté sur le forum sont bien :
  1. abonnés au forum concerné (pour recevoir une copie)
  2. configuré pour recevoir un courriel par message (et pas un courriel quotidien)
  3. avec leur adresse de courriel activée (et valide)
Si ce n'est pas le cas, il est normal que tu ne reçoive pas de courriel, Moodle n'étant pas configuré pour en envoyer...

Il pourrait aussi y avoir un antispam très sauvage qui supprimerait directement les mails sur ta boite, sans que tu t'en aperçoive, mais cela semble peu probable...

Sinon, désolé mais je n'ai pas de réponse claire et précise à tes questions.
En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Éléments de réponse :
  1. Pour voir si le cron fonctionne vraiment, tu peux le lancer à la main en appelant la page http://ton-serveur-moodle/admin/cron.php et observer dans le retour si les tâches attendues ont déjà été effectuées ou non (par exemple, tu postes un message dans un forum auquel tu es abonné, tu attends 1 heure, puis tu lances le cron manuellement).
  2. Non sourire
En réponse à Nicolas Martignoni

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Bonsoir,

Les trois conditions soulevées par Severin sont remplies, donc côté plate forme tout semble normal.

J'ai lancé le cron à la main à travers le menu administrateur et çà marche, je reçois bien les messages des forums.

Par contre après avoir regardé à la loupe la syntaxe de la commande

*/5-*-*-*-*-wget -q -O dev/null-http://monsite.com/admin/cron.php ( les tirets - représentent les espacces que j'ai placé. Ils ne sont pas écrits dans la commande bien sur!).

O : dans ma première version, j'avais écrit la lettre o (miniscule) et je viens de ma rendre conmpte que dans le guide pas à pas, cette lettre est en majuscule. Il me semble que linux respecte la casse.

Je viens juste le faire, cette commande a été aussi acceptée !!!

J'attends quelques minutes pour vérifier :

Mes questions :

1) La syntaxe peut-être fausse sans message d'erreur?

2) Si je ne suis pas autorisé à faire un cron, aurais-je eu accès à ce mode?

3) A quoi servent ces étoiles, j'ai vu dans un forum une commane similaire avec 5 étoiles!

Le temps de rédiger cette page, les 5mn de la tâche cron sont passés et toujours rien dans ma messagerie après la contribution à un forum.

Voilà, je suis toujours à la recherche d'aide et merci d'avance.

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Il me semble qu'il y a encore une erreur (la barre oblique devant le dev). Voici la commande exacte :

*/5 * * * * wget -q -O /dev/null http://monsite.com/moodle/admin/cron.php

On peut aussi utiliser cette commande :

*/5 * * * * curl -q -s -o /dev/null http://monsite.com/moodle/admin/cron.php

Attention aux espaces et la casse est respectée ! Quelques infos ici (en anglais) : http://moodle.org/mod/forum/discuss.php?d=48949.

Pour les étoiles, voir le manuel de cron.

En réponse à Nicolas Martignoni

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Merci Nicolas, je retourne pour rajouter cette barre manquante et au besoin tenter l'autre commande.

Ces difficultés m'ont quand même permis de démystifier un peu cette fonction cron

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Bonjour

Je commence à fatiguer avec le cron sur 1&1 !!!

Le cron lancé depuis moodle à la main fonctionne !

Je n'arrive pas faire marcher le cron sur le serveur 1&1 malgré toutes les informations que j'ai eu et je commence à avoir certains doutes que je souhaiterai lever à travers ce forum :

1) Je voudrais m'assurer que certains ont réussi à faire fonctionner la fonction cron pour le suivi des messages de forum. Si oui quelle commande a été mise en œuvre?

2) Dans le guide pas pas déposé dans le forum, la commande suivante était suggérée

*/5 * * * * wget –q –O dev/null http://tonnomdedomaine.com/admin/cron.php

Je n'ai pas réussi à faire fonctionner le cron

3) Puis après quelques échanges, on m'a suggéré celle-ci ( / devant dev) pas meilleur !!!

*/5 * * * * wget -q -O /dev/null http://monsite.com/moodle/admin/cron.php

4) J'ai donc insisté auprès du support de 1&1 et après plusieurs échanges, d'après la doc j'ai tenté

*/5 * * * * $HOME/wsb39xxxxxxxxx/admin/cron.php

Pas mieux !!!

Je voudrais valider auprès des spécialistes du code ma commande ci-dessus

Je donne en fichier joint le document qui m'a été fourni par 1&1 pour mettre en place le cron sur leur serveur. Çà pourra peut-être aider certains.

Merci d'avance pour votre aide

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
    Bonjour,

d'après le document joint, je pense que ta commande pourrait être du genre :

*/5 * * * * $HOME/moodle/admin/cron.php

si tu as créé un dossier moodle, sinon :

*/5 * * * * $HOME/admin/cron.php
En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles
Bonjour,

Voici l'instruction que j'ai écrite pour les trois sites créés sur le serveur 1&1 :

image putty

Tout semble bien marché.
De plus, sur la page administration de chaque Moodle, il n'apparait plus le message : "Le script de  maintenance cron.php n'a pas été lancé depuis au moins 24 heures".

Christian.



En réponse à Christian Bocquet

Re: Cron sur version 1.6 sur serveur 1&1

par Mathieu PLAS,
La commande correcte est:
5 * * * * * wget -q -O /dev/null http://tonadresse.tonorganisationoupays/admin/cron.php

Ca marche chez moi. Par contre, je n'ai pas vérifié si elle est lancée toutes les 5 minutes ou toutes les heures.
En réponse à Mathieu PLAS

Re: Cron sur version 1.6 sur serveur 1&1

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
    Bonjour,

d'après ta commande, le cron doit tourner toutes les heures, 5 minutes après l'heure pile clin d’œil

Il faudrait modifier le début pour mettre */5 si tu veux qu'il tourne toutes les 5 minutes...

PS : en fonction de la façon dont est installé Moodle, il peut être nécessaire d'insérer /moodle/ dans l'adresse d'appel du cron.
En réponse à Christian Bocquet

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Bonjour Christian,

Malheureusement l'image jointe au forum ne s'affiche pas chez moi, je vois seulement son nom 'image putty'. C'est peut_être un format non pris en charge par la plate forme. Son contenu m'interesse beaucoup!

Je vais essayer la commande de Mathieu mais j'aimerai bien avoir un peu d'explications de la pat de Severin quant au rajout de moodle en fonction de l'installation.

En ce qui me concerne, sur 1&1, tout le contenu du dossier moodle est installé dans un dossier nommé wbsxxxxxxxx qui correspond à mon nom de domaine.

j'essaye d'exploiter les différentes infos données et je reviens

Merci encore à tous

 

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonsoir,

Effectivement avec Mozilla Firefox, il peut n'apparaître qu'une "image putty", alors qu'avec Internet Explorer l'image s'ouvre bien dans mon message.

Cependant en cliquant sur "image putty" on peut copier l'URL de l'image qui est : http://plateforme.info/moodle/file.php/1/image002.JPG (se connecter comme invité)

Christian.

En réponse à Christian Bocquet

Re: Cron sur version 1.6 sur serveur 1&1

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Christian > avec Internet Explorer l'image s'ouvre bien dans mon message.

Non, pas davantage.

Voici l'image (syntaxe qui pour moi est de l'hébreu).

Joseph

En réponse à Joseph Rézeau

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Bonsoir,

Merci Christian pour l'image. J'ai pu la récupérer et maintenant elle apparaît dans le forum ! Pb de réseau la première fois peut-être!

Il y a une différence effectivement avec celle que j'ai inscrite sur le serveur. Je viens d'adapter ta commande à mon cas et j'attends pour voir en croisant les doigts evil

Joseph, je peux te dire qu'il y a une semaine le cron était pour moi plus que de l'hébreu mais après autant de galères pour le faire fonctionner, je commence à lire l'hébreu mais je ne le comprends toujours pas wide eyes

Je reviens vous donner les résultats du cron !

En réponse à Joseph Rézeau

Re: Cron sur version 1.6 sur serveur 1&1

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles
"Christian > avec Internet Explorer l'image s'ouvre bien dans mon message.

Non, pas davantage." (Joseph Réseau)

Effectivement, si on vide le cache du navigateur, que ce soit Mozilla ou Internet Explorer, l'image ne s'affiche pas et pour qu'elle s'affiche il faut d'abord ouvrir le fichier correspondant  à l'adresse URL de l'image.

J'ai constaté que quand on est utilisateur avec le statut étudiant (comme c'est le cas pour moi sur Moodle.org, quand je voulais insérer une image, il s'ouvrait la fenêtre suivante :

http://plateforme.info/moodle/file.php/1/image2.jpg

(adresse de l'image : http://plateforme.info/moodle/file.php/1/image2.jpg et se connecter en invité)

Par contre, avec le statut enseignant, quand on veut insérer une image, il s'ouvre la fenêtre suivante, qui permet de déposer le fichier dans le dossier des fichiers du site Moodle :

http://plateforme.info/moodle/file.php/1/image4.jpg

(adresse de l'image : http://plateforme.info/moodle/file.php/1/image4.jpg et se connecter en invité)

Dans ce cas, on ne doit plus télécharger l'image dans le cache, comme pour l'image qu'à insérer Joseph dans son message.

Ma question est donc la suivante : Comment un utilisateur "étudiant" peut-il insérer une image personnelle dans son message avec l'éditeur WYSIWYG ?

Christian. 


En réponse à Christian Bocquet

Re: Cron sur version 1.6 sur serveur 1&1

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
    Bonjour,

tout simplement, pour insérer une image, il faut utiliser la possibilité de joindre une annexe... certes, le fichier ne sera pas "dans" le message.
En réponse à Séverin Terrier

Re: Cron sur version 1.6 sur serveur 1&1

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour Séverin,

Insérer une (ou des) image(s) accompagnant au(x) bon(s) endroit(s) le texte est différent de joindre une image en annexe. De plus, Joseph Rézeau a du y parvenir puisqu'en consultant les propriétés de son image (copie de la mienne), j'ai pu lire que l'adresse était :

http://moodle.org/file.php/20/moddata/forum/170/229317/image-0000.jpg

Il a donc pu insérer l'image, qui est devenue  un fichier  du site. Comment a-t-il pu le faire en étant utilisateur "étudiant" ?

Christian.

En réponse à Christian Bocquet

Re: Cron sur version 1.6 sur serveur 1&1

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Christian,
  1. pour "insérer" une image (dans le corps du texte d'un message): cliquer sur bouton Insert Image de l'éditeur HTML/WYSIWYG
    1. si on est enseignant (ou Admin), on a alors accès aux images déposées dans les fichiers de son cours (ou de son site)
    2. si on est étudiant, on peut seulement insérer une image en donnant une adresse Web image insérée
  2. pour joindre une image (ou tout autre fichier joint), indiquer son emplacement (sur son ordinateur) dans Annexe (facultatif). Si c'est un fichier, un lien sera créé en haut à droite du message, si c'est une image, elle apparaitra après le texte du message (ici, après ma signature).
Joseph
En réponse à Joseph Rézeau

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

    Bonjour,

J'ai essayé d'insérer une image selon les indications de Joseph mais  la fonction d'insertion d'image ne me donne pas Annexe (facultatif). Je ne dispose que de deux champs : "url de l'image" et "texte alt".

Il y a t-il une config particulière pour activer cette fonction?

Je voulais profiter de cette modalité pour insérer une image et relancer le débat sur la fonction cron que je n'ai pas toujours pas réussi à faire fonctionner malgré une commande identique à celle donnée pas Christian ( adaptée bien sûr à mon contexte).

Ma curiosité m'a poussé à aller un peu plus loin pour essayer ce comprendre à partir de la ligne de commande et mes maigres compétences sur unix.

J'ai voulu voir le contenu de mon espace à partir de la ligne de commande. Dans la doc j'ai vu que la commande ls permet de le faire. Je pensais voir les fichiers et dossiers de mon espace que je vois à travers le FTP. Je n'ai vu aucun fichiers ou dossiers de ce type ! Je joins les fichiers en annexe les fichiers trouvés afin d'avoir des explications de la part des spécialistes.

1) Ceci m'amène à une question : si je ne suis pas dans mon espace lorsque j'écris ma commande cron, sera t-elle prise en compte?

2) Je constate que dans les exemples de commande de con proposées, le répertoire qui contient le moodle est resté nommé moodle, ce qui n'est pas mon cas, celà peut-il poser problème? (il me semble que non)

3) Existe t-il une commande pour lancer le cron a partir de la ligne de commande?

( je rappelle que le con lancé à partir de la plate forme fonctionne bien).

Voilà, je suis toujours demandeur d'aide pour ce cron !!!

Merci d'avance

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Mathieu PLAS,
Euh... théoriquement tu ne devrais pas avoir accès à cela chez 1&1. As-tu un serveur dédié à ta disposition ou le pack premium gratuit ? En fait, le listing que tu nous donnes montre un accès a priori à la racine du serveur et non à ton espace perso. Tes fichiers  habituels (que tu vois de ton FTP) devraient se trouver dans /homepages/unchiffrepourmoic4/numerodetoncompte/htdocs. Ne touche pas au reste si tu ne connais pas linux (ça m'étonnerait que tu y aies réellement accès).

Réponses dans l'ordre:
1) oui (commandes valables pour le serveur, c'est pour cela que les chemins sont indiqués par rapport à la racine)
2)pas du tout, tant que tu indiques le nom exact du répertoire dans ta commande
3)Ce n'est pas le but du cron. En fait le cron est une tâche automatisée, qui, dans le cas qui nous occupe, charge la page internet nommée cron.php toutes les cinq minutes dans l'idéal. C'est la fonction de la commande wget.Tu peux, en ligne de commande lancer la même fonction (commande à partir du wget). Mais l'appel ne sera réalisé qu'une seule fois. A moins que tu tapes ta commande toutes les cinq minutes.

En réponse à Mathieu PLAS

Re: Cron sur version 1.6 sur serveur 1&1

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
    Bonjour,

une autre possibilité, surtout si le cron ne peut-être lancé depuis le serveur 1&1, est d'appeler la page depuis un autre ordinateur, qui restera allumé...

Pour cela, et avec un PC sous windows, on peut facilement utiliser Webmon, dont je parlais dans le fil suivant :
http://moodle.org/mod/forum/discuss.php?d=45552
En réponse à Joseph Rézeau

Re: Cron sur version 1.6 sur serveur 1&1

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Merci Joseph,

On peut ainsi en annexant les fichiers un à un (pas à pas en modifiant son message) télécharger chaque image en ayant soin de noter chaque adresse générée dans le site, puis ensuite insérer au bon endroit l'image souhaitée en tapant l'adresse.

Mais c'est une procédure lourde pour un utilisateur apprenant !

Je suis allé voir du côté du blog et là aussi le problème est le même : le professeur peut facilement insérer une image dans son blog, mais pas l'apprenant qui ne dispose même plus de la fonction "Annexe".

Ne serait-il pas possible de créer un dossier "fichier utilisateur" où chaque utilisateur pourrait déposer ses fichiers (par exemple comme dans le dossier user où l'on peut déjà y télécharger notre photo ou logo personnel) ?  et donner à l'apprenant le même tableau de bord que le professeur quand il voudra utiliser l'insertion d'une image.

Je suis désolé d'avoir utilisé ce fils de discussion cron pour résoudre ce problème d'insertion d'image côté apprenant.

Christian.

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour,

Etant donné tous les problèmes soulevés par le fonctionnement du CRON dans ce fil de discussion, je me permets d'évoquer la solution que j'utilise (chez l'hébergeur 1&1), solution relativement simple et qui marche vraiment. Pour les explications détaillées, voir ce fil de discussion.

  1. Dans le fichier header.html du thème utilisé sur la page d'accueil du site, rajouter les lignes suivantes tout à la fin :
<?php
if(file_exists($CFG->dataroot."/cron.time") && time()-filemtime($CFG->dataroot."/cron.time")>3600){
$ch = curl_init($CFG->wwwroot."/admin/cron.php");
$fp = fopen($CFG->dataroot."/cron.time", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
}
?>
  1. Créer un fichier vide appelé cron.time et par FTP le déposer à la racine du dossier moodledata de votre site Moodle
  2. Réglages: la valeur indique le nombre de secondes entre chaque déclenchement de la tâche; 3600 secondes = 1 heure. Changer cette valeur comme vous voulez.
  3. A chaque affichage d'une page sur le site Moodle, une vérification est faite pour savoir s'il est temps de déclencher le CRON (selon la valeur indiquée ci-dessus).
  4. Seul petit inconvénient relevé: lorsqu'il se trouve qu'une page est affichée et qu'il est l'heure de déclencher le CRON, on note un petit ralentissement d'affichage de la page en question.
Joseph
Moyenne des évaluations Utile (2)
En réponse à Joseph Rézeau

Re: Cron sur version 1.6 sur serveur 1&1

par Association fsf,

Bonjour à tous <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Tout d'abord merci à tous pour l'aide précieuse apportée tout au long de ce fil de discussion pour résoudre le problème du cron en général et plus spécifiquement sur le serveur 1&1 avec le pack premium gratuit.

Afin de faire gagner du temps aux entres qui pourraient rencontrer ce type de problème, je propose ici une synthèse des différents solutions possibles pour lancer un cron. Certaines solutions marchent bien pour certains et moins bien ou pas du tout chez d'autres ( sur même serveur !!!) alors avec les différentes solutions proposées, chacun pourra peut-être s'y retrouver.

Le CRONJOB sur serveur 1&1

 

 

Les Cronjobs, comment faire, des exemples ?

 

Le Cronjobs est le programme qui va nous permettre d'automatiser des taches comme des backups et autres.

 

Chez 1&1 Internet, on le fait par SSH, il n'y a pas d'interface web pour créer son CRON. On ouvre donc une session SSH via Putty ou autre.

 

Une fois en SSH on a deux commandes principalement pour gérer le Cronjobs:

 

crontab -l (elle nous permet de lister le contenu du fichier)

 

crontab -e (elle permet d'éditer notre fichier et donc d'ajouter, modifer, supprimer des cron)

 

Nous allons donc créer notre premier Cron, pour cela:

 

1)On édite notre fichier cron: crontab -e

 

2) Ensuite pour écrire dans le fichier, il faut appuyer sur la touche (i) qui nous donne le droit d'(i)nsérer dans le fichier.

 

3) On met en premier cette ligne qui va définir à qui les emails doivent être envoyés: MAILTO=votre@email.tld Cela sera alors la première ligne de notre fichier.

 

4) Ensuite, on met une ligne, cette ligne est donc "la tâche cron", voici un exemple: 0 2 * * 2 $HOME/backupsql/backup_fansoleil_espacemembre.php

 

En fait, cette tâche va faire un backup d'une de mes bases SQL tous les Mardis à 2h00.

 

Maintenant que l'on a vu la syntaxe, nous allons détailler les informations par rapport à cet exemple, il y a 5 paramètres à donner avant la commande à faire. Voici les 5 paramètres dans leur ordre de demande.

 

 

1 => c'est les minutes (0-59)

2 => c'est l'heure (0-23)

3 => c'est le jour du mois (0-31)

4 => c'est le mois (1-12)

5 => c'est le jour de la semaine (0-7)

 

Donc, dans mon Cron, on reprends 0 2 * * 2, cela veut donc dire: 0 2 (à 2h00 du matin, je reprends la valeur 1 et 2)

 

* (tous les jours du mois)

Si on veut faire une exécution hebdomadaire, un met * ici, cela veut dire tous les jours On sera alors limité par la valeur 5 qui précisera le jour de la semaine dans mon exemple, si la 5 est aussi en * alors le backup sera fait tous les jours.

 

* (tous les mois)

On ne donne pas de mois ici afin qu'il s'éxécute tous les mois de l'année sans limitations. 2 (tous les mardis) On précise ici que le Cronjobs doit appeler cette tache tous les mardis de chaque semaine. 1 étant le lundi et le dimanche étant le 7.

 

Maintenant reprenons cette ligne en détails: $HOME/backupsql/backup_fansoleil_espacemembre.php

Il s'agit de l'action que va faire le Cronjobs, la valeur $HOME va nous déterminer automatiquement le chemin complet du compte. Il n'est donc pas nécessaire en mettant cette valeur de mettre un chemin comme:

 

/kunden/homepages/35/d88495771/htdocs/

 

Ce dernier peut si le client le souhaite être simplement remplacé par $HOME

 

Maintenant que l'on a copier cette ligne (enfin ces deux lignes) dans notre fichier cron, il nous faut l'enregistrer. Pour cela, on appuie sur la touche ESC puis sur : puis sur w enfin sur q L'éditeur se referme alors après avoir enregistré notre fichier.

 

On peut le vérifier maintenant en entrant la commande:

contab -l

 

Voici quelques autres exemples que l'on peut retrouver:

30 05 *  *  *   $HOME/test.php

Dans cet exemple, on appel un fichier test.php tous les jours à 5h30

 

 

00 01 1 

( attention, un esapce entre chaque étoile et avant les tirets. La lettre O en majuscule)

3) La solution qui fonctionne chez moi

*/5 * * * * /usr/local/bin/php $HOME/wsb39xxxxxxx/admin/cron.php

 

Pour ceux qui ne disposent d'un accès SSH sur leur serveur, une solution intéressante proposée ( je ne l'ai pas encore testée mais elle donne satisfaction à son auteur)

 

 

  1. Dans le fichier header.html du thème utilisé sur la page d'accueil du site, rajouter les lignes suivantes tout à la fin :

  1. Créer un fichier vide appelé cron.time et par FTP le déposer à la racine du dossier moodledata de votre site Moodle

  2. Réglages: la valeur indique le nombre de secondes entre chaque déclenchement de la tâche; 3600 secondes = 1 heure. Changer cette valeur comme vous voulez.

  3. A chaque affichage d'une page sur le site Moodle, une vérification est faite pour savoir s'il est temps de déclencher le CRON (selon la valeur indiquée ci-dessus).

  4. Seul petit inconvénient relevé: lorsqu'il se trouve qu'une page est affichée et qu'il est l'heure de déclencher le CRON, on note un petit ralentissement d'affichage de la page en question.

J'espère que cette petite synthèse servira à d'autres pour régler d'éventuels problèmes de ce type ( en attendant un version sur le wiki !)

 

En réponse à Association fsf

Re: Cron sur version 1.6 sur serveur 1&1

par Stéphane BARREAU,
Merci pour ces informations,
je suis chez 1&1 et chez moi
*/5 * * * * /usr/local/bin/php $HOME/moodle/admin/cron.php
fonctionne bien !

remplacer moodle par le nom du répertoire ou est installé moodle sur votre serveur 1&1

Voici donc ma procédure :
------------------------------------------
1. se connecter à votre serveur 1&1 en SSH
2. taper : crontab -e puis valider
3. taper sur la lettre « a » puis valider
4. taper la commande :
*/5 * * * * /usr/local/bin/php $HOME/moodle/admin/cron.php
puis valider
5. taper sur la touche "ESC"
6. taper :wq puis valider

Moyenne des évaluations Utile (2)
En réponse à Stéphane BARREAU

Re: Cron sur version 1.6 sur serveur 1&1

par thomas boulenger,
Bonjour

Je pense que le cron fonctionne sous condition du pack 1&1 que tu as souscrit.
Il n'y a que le "pack pro performance" à 19 euros par mois (!!) qui autorise les tache cron.

Voir sur leur site :
http://commander.1and1.fr
hébergement
hébergement linux
option scripting - (activer tout afficher)



En réponse à thomas boulenger

Re: Cron sur version 1.6 sur serveur 1&1

par benoit tostain,
Bonjour,
il y a également le "pack premium" gratuit 3 ans depuis décembre 2005, puis le pack "privilège 1&1" à 2,38€ par mois qui autorisent les taches cron.
Ce pack "privilège 1&1" est proposé comme suite au pack gratuit de 3 ans...
En réponse à benoit tostain

Re: Cron sur version 1.6 sur serveur 1&1

par thomas boulenger,
J'ai le "pack privilège" après avoir eu le pack gratuit.
La table des taches est effectivement modifiable, le problème est que le cron ne les lance pas.

j'ai fait un interface en PHP de modification de la crontab. Lorsque je consulte ma crontab via cette interface j'ai :
*/5 * * * * /usr/local/bin/php $HOME/common/cron.php

et la tache n'est pas appelée.
J'ai essayé plein d'autres écriture, rien n'y fait, ça ne fonctionne pas.

J'ai envoyé un mail à 1and1 pour savoir si le crontab est opérationnel pour le pack privilège, j'attends la réponse.

Je peux éventuellement envoyer le code source de gestion de la crontab à ceux qui le souhaite. Ce code s'est inspiré du tutorial sur le site :
http://matthieu.developpez.com/execution_periodique/
En réponse à thomas boulenger

Re: Cron sur version 1.6 sur serveur 1&1

par Jérôme DEMIAUX,
Avatar Traducteurs
j'ai fait un interface en PHP de modification de la crontab. Lorsque je consulte ma crontab via cette interface j'ai :
*/5 * * * * /usr/local/bin/php $HOME/common/cron.php

Ne faudrait-il pas plutôt écrire :
*/5 * * * * /usr/local/bin/php CheminRépertoireMoodle/admin/cron.php ?

D'où sort ce répertoire common ? le script qui doit être lancé se situe dans le répertoire admin de Moodle.
En réponse à Jérôme DEMIAUX

Re: Cron sur version 1.6 sur serveur 1&1

par thomas boulenger,
En fait je suis tombé sur cette discussion en cherchant sur google des discussions sur l'utilisation de crontab chez 1and1

Bien que cet interface ait l'air très intéressant, je n'utilise pas Moodle pour l'instant.

J'avais déjà mis le chemin complet et ça ne marchait pas non plus :
*/5 * * * * /usr/local/bin/php /kunden/homepages/1/monnumero/htdocs/common/cron.php

et aussi :
*/5 * * * * /usr/local/bin/php common/cron.php

common étant à la racine de mon site

J'ai essayé plusieurs formules, et j'ai fini par conclure que crontab ne marchait pas pour le pack privilège, me trompe-je ???

En réponse à thomas boulenger

Re: Cron sur version 1.6 sur serveur 1&1

par Jérôme DEMIAUX,
Avatar Traducteurs
Si ce n'est pas le fichier "cron.php" de l'applicatif Moodle, d'où sort ce fichier et que contient-il ?
L'absence de résultat vient peut-être de ce fichier dont on ne connait rien.
En réponse à Jérôme DEMIAUX

Re: Cron sur version 1.6 sur serveur 1&1

par thomas boulenger,
c'est un petit programme qui pour l'instant ne fait que enregistrer dans un fichier texte la date et l'heure à laquelle il a été exécuté.
Je l'ai testé et il fonctionne.

voici le code tout simple :

if(file_exists($_SERVER["DOCUMENT_ROOT"]."/common/cron.txt"))
$str=file_get_contents($_SERVER["DOCUMENT_ROOT"]."/common/cron.txt");
else
$str='';
$str.="execution cron : ".date("d/m/Y H:i:s",time()).'\n';
file_put_contents($_SERVER["DOCUMENT_ROOT"]."/common/cron.txt",$str);

C'est comme ça que je peux constater qu'il n'a pas été appelé par le crontab
En réponse à thomas boulenger

Re: Cron sur version 1.6 sur serveur 1&1

par benoit tostain,
Bonjour,

j'utilise aussi le pack privilege avec Moodle.
je viens de vérifier : le cron fonctionne normalement, il a été configuré pour se lancer 2 fois par jour automatiquement lorsque j'étais en pack premium,
la migration a été réalisée sur le pack privilege par 1&1, et le lancement du cron a suivi...
voilà, si cela peut t'être utile...


En réponse à benoit tostain

Re: Cron sur version 1.6 sur serveur 1&1

par thomas boulenger,
Merci Benoit Tostain, ton affirmation m'aide beaucoup.

Il y a quelque chose qui cloche dans mon éditeur de crontab (un \n ou autre qui doit foutre le bouzou)
J'y retourne immédiatement ...


En réponse à Stéphane BARREAU

Re: Cron sur version 1.6 sur serveur 1&1

par thomas boulenger,
Je viens de résoudre mon problème , en espérant que ça peut aider voici comment j'ai fait :

CE n'est pas mon éditeur qui est en cause mais ma tache lancée par crontab. Je testais ma tache cron (common/cron.php) par firefox, et tout marchait correctement. Ensuite je l'ai testé par putty en ssh, et il ne reconnaissait pas la fonction file_put_contents, car par défaut, quand on fait la commande php en ssh, 1and1 utilise php4.

pour utiliser php5 il faut avoir dans son crontab :
*/5 * * * * php5 chemin/cron.php

il n'est pas nécessaire d'indiquer le chemin complet de la commande php5, ni de la commande php, car ces commandes sont dans le repertoire bin.

avec putty, faire un ls /usr/local/bin
pour connaitre tout les paramètres de la commande php5 faire par putty php5 -h

Dans la tache appelée par crontab, Il faut faire attention à l'usage des variables $_SERVER ou $_ENV, on n'a pas les même valeurs selon qu'on lance la tache via crontab ou via firefox, c'est problèmatique quand on utilise des classes ou des fonctions avec des include se servant de $_SERVER["DOCUMENT_ROOT"]

au début de ma tache j'ai du ajouter le code suivant :

if(!isset($_SERVER["DOCUMENT_ROOT"])) {
$_SERVER["DOCUMENT_ROOT"]=$_SERVER["PWD"];
}

Ainsi l'info dont on se sert le plus dans la table $_SERVER sera correctement renseignée, il est possible qu'il y ait un moyen plus élégant ...

Merci à tous ceux qui m'ont aidé.
En réponse à thomas boulenger

Re: Cron sur version 1.6 sur serveur 1&1

par thomas boulenger,
RECTIFICATION :
pour l'exécution d'une tache par crontab, il semble nécessaire de mettre le chemin de la commande php5 en entier, soit :
*/5 * * * * /usr/local/bin/php5 chemin/cron.php

En réponse à thomas boulenger

Re: Cron sur serveur 1&1 : solution facile avec hiwitt.org

par Gilles Le Page,
Avatar Moodleurs particulièrement utiles
Bonjour,
j'utilise moodle 1.9
je suis hébergé par 1&1
je lance le Cron toutes les heures très simplement à partir d'un site :
http://www.hiwit.org/
le service est gratuit, intuitif
il suffit d'ouvrir un compte (gratuit) sur hiwitt et de saisir l'URL du CRON

le lancement gratuit est effectué toutes les heures
l'accès à des lancement plus fréquents est payant
Gilles

En réponse à Gilles Le Page

Re: Cron sur serveur 1&1 : solution facile avec hiwitt.org

par Jérôme DEMIAUX,
Avatar Traducteurs
Bonjour, Gilles,

Merci pour cette information.
Si tu veux effectuer des lancements de cron plus fréquents, voir ces deux sites gratuits.

Onlinecron
CronOo

Attention cependant, certains hébergeurs voient d'un mauvais oeil, une activation trop rapprochée du cron, surtout sur un serveur mutualisé et pourraient le reprocher (voir les conditions d'utilisation).
Moyenne des évaluations Utile (1)
En réponse à Jérôme DEMIAUX

Re: Cron sur serveur 1&1 : solution facile avec hiwitt.org

par Gilles Le Page,
Avatar Moodleurs particulièrement utiles
Bonjour Jérôme,
Merci pour l'info ! Je suis passé à Cronoo, c'est effectivement mieux que ce que propose Hiwitt : on peut lancer le cron toutes les 5mn si on veut.
je vais regarder les conditions de 1&1 au sujet de la fréquence des cron

En réponse à Gilles Le Page

Re: Cron sur serveur 1&1 : solution facile avec hiwitt.org

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,
Attention au cron trop rapide.
Les 5mn sont-elles nécessaires ?
CPanel est-il inclus dans ton hébergement ? Si oui, dans la nouvelle version tu génères le cron en quelques clics. Mieux... lors du déploiement d'une plateforme, on te demande la période et c'est fait tout seul. Mais il faut Cpanel de luxe... démo ICI. si tu as accès...
Sinon Online cron est pratique. C'est ce que j'utilise suite à un judicieux conseil de Séverin que je salue au passage.
Daniel
En réponse à Association fsf

Cron sur version 1.9.9 sur serveur 1&1

par Gilles Le Page,
Avatar Moodleurs particulièrement utiles
Bonjour
je m'arrache de nouveau les cheveux avec le Cron
J'ai peut être effectué un paramétrage erroné...
Je gère 4 moodle, ils sont tous les 4 à la version 1.9.9
Ils sont tous les 4 sur le même hébergement 1&1 pack pro standard
Je lance les tâches cron par Cronoo
Sur 3 moodle : ça fonctionne
Sur 1 moodle : ça ne fonctionne pas, le Cron n'est pas lancé : il faut que je le fasse à la main chaque jour.
J'ai essayé de le lancer par onlinecron.com : rien de changé.
Avez-vous une idée d'un paramétrage qui bloquerait le Cron ? Ou d'une autre solution ?
merci
Gilles Le Page