Aller au contenu

Featured Replies

Posté(e)

Bonjour, j'ai un petit script php qui me fait la sauvegarde de ma BDD et j'aimerais qu'il se lance automatiquement tous les jours à 3h00 du matin.

J'ai donc mis la ligne de commande suivante dans mon crontab :

0 3 * * * root /var/services/web/sbase/sbdd.php

Mais ça ne veut rien savoir, aucune exécution du script à l'heure demandée.. ni à aucune autre heure d'ailleurs!

J'ai essayé aussi la ligne de commande:

0 3 * * * root http://mon_site/sbase/sbdd.php

C'est idem pareil, pas d'éxécution. Ma syntaxe est-elle mauvaise?

Evidemment, j'éteins et je rallume mon syno après chaque modif du crontab pour réinitialiser apache.

c'est la 1ere fois que j'utilise crontab. Y aurait-il qq chose à initialiser quelque part pour le faire fonctionner?

Posté(e)

Ca ne fonctionnera pas, tu ne peux pas lancer de page PHP par crontab je pense, uniquement des commandes systèmes ou des scripts.

Pour t'en convaincre, en telnet tape http://mon_site/sbase/sbdd.php

et tu verras que tu auras un message d'erreur. Ton Crontab essaie bien de lancer cette commande à l'heure prévue mais comme la commande est invalide tu ne vois pas le résultat.

Posté(e)
  • Auteur

Effectivement, quand je lance la commande sous Telnet, ça me répond "Not Found".

Pourtant, quand je lis la doc d'apache, c'est tout a fait possible et par exemple sur

http://www.phpmyvisites.net/faq/comment-la...t-jours-68.html

ou l'exemple sur http://fr.wikipedia.org/wiki/Crontab

30 21 * * * wget -O /dev/null http://exemple.com/mapage.html >>/dev/null

je continue à chercher !!

Posté(e)

Ok :'( c'est plutôt genant si Crontab ne peut pas lancer de fichier php directement.

Y aurait-il une autre solution pour contourner ce problème ?

Posté(e)

Effectivement, quand je lance la commande sous Telnet, ça me répond "Not Found".

Pourtant, quand je lis la doc d'apache, c'est tout a fait possible et par exemple sur

http://www.phpmyvisites.net/faq/comment-la...t-jours-68.html

ou l'exemple sur http://fr.wikipedia.org/wiki/Crontab

30 21 * * * wget -O /dev/null http://exemple.com/mapage.html >>/dev/null

je continue à chercher !!

Dans tous tes exemples, tu ne lances pas une page web, mais l'utilitaire systeme wget qui permet de recupérer des fichiers et des pages sur sur le net, ce qui est très différent puisque contrairement à la commande de ton premier poste qui pointe sur une page web uniquement, celles présentées dans les exemples pointent sur une commande associée aux paramétres à traiter.

Wget etant la commande et -O /dev/null http://exemple.com/mapage.html >>/dev/null etant les paramétres que wget va traiter

Si on suit la logique des exemples alors ta ligne crontab pour fonctionner devrait être 0 3 * * * root wget -O /dev/null http://mon_site/sbase/sbdd.php >>/dev/null

Posté(e)

Bonjour,

Un fichier html ou php, ne se lance que sur un navigateur, comme le dis 'Ikeke', sa ne marchera pas en 'shell' :nea:

La commande decrite 'wget -O........" télécharge et liste le fichier html, c'est tout.

A+

Fred

Posté(e)
  • Auteur

Bonjour,

essaye

0 3 * * * php /var/services/web/sbase/sbdd.php

:yahoo:

Moi je mets

0 3 * * * root /var/services/web/sbase/sbdd.php

Dans ta commande, il faut remplacer le "root" ? par "php" ??

C'est pas un utilisateur ça?? tu es sur que ça fonctionne? J'ai peur de mettre un truc faux dans mon crontab et de planter l'engin :spiteful:

Posté(e)

Moi je mets

0 3 * * * root /var/services/web/sbase/sbdd.php

Dans ta commande, il faut remplacer le "root" ? par "php" ??

C'est pas un utilisateur ça?? tu es sur que ça fonctionne? J'ai peur de mettre un truc faux dans mon crontab et de planter l'engin :spiteful:

Non dans sa ligne il faut mettre 0 3 * * * root php /var/services/web/sbase/sbdd.php

Posté(e)

Est-ce qu'il faut installer php avec ipkg par hasard ? la commande php seul en telnet retourne une erreur.

Posté(e)
  • Auteur

M^me chose que Tamatea.

J'ai tapé sous Telnet la commande

php /var/services/web/sbase/sbdd.php

mais j'ai la réponse:

php not found

Ca m'étonnerait que ça marche en crontab??

Posté(e)

Bonjour :hi:

essayez ceci:

mkdir /volume1/web/TestPhp

Placer le fichier index.php qui contiendra le texte suivant

<? phpinfo(); ?>

ouvrir l'explorateur web:

http://@SYNO/TestPhp

* si la page d'info Php s'affiche c'est qu'il est actif et que le répertoire n'est pas dans le PATH ou autre chose de pas gentil de la part de SYNOLOGY

* sinon il y a un problème de configuration et/ou demarrage du service WEB/PHP

Posté(e)

Est-ce qu'il faut installer php avec ipkg par hasard ? la commande php seul en telnet retourne une erreur.

Aucune idée, je ne fais que recopier la phrase donnée précédement sans avoir testé même si à premiere vue j'aurais pensé que ca ne fonctionne pas ?

Posté(e)
  • Auteur

Pour B2V, pas de problème, mon php est bien actif car mon site web fonctionne parfaitement avec tous mes scripts en php et MySql également.. et phpinfo() m'affiche toute la config de l'engin.

J'ai égelement PhpMyAdmin qui fonctionne sans souci..

Alors, pourquoi une commande Telnet ne trouve pas le PHP?? Big question :shok:

J'ai l'impression que le 107+ a des réactions très bizarres comparé aux autres machines, notamment le 107 pas +...

Posté(e)

Re :hi:

peut être faut'il chercher l'executable ?

find / -name php

un problème de PATH ?

Posté(e)
  • Auteur

find / -name php

un problème de PATH ?

La réponse est:

/lib/php

/volume1/@tmp/php

et quand je tape sous Telnet;

PatServ> php

-ash: php: not found

PatServ>

et ma variable $PATH contient

/opt/bin:/opt/sbin:/usr/sbin:/bin:/usr/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin

:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin

et donc pas de /lib/qqchose !!!

Je n'y comprends plus rien :fool:

Posté(e)

Re :hi:

En fait /lib/php/ (chez moi) est un répertoire qui ne contient pas grand chose, en tout cas pas d'executables...

vraiment très bizarre, il semble qu'apache va chercher directement son module ailleurs, dans /lib/php5.so et que syno n'ai pas implémenté de commande php. pour le dédier à l'usage unique d'apache.

en fait, je m'aperçoit que le mien se trouve dans /opt/bin, probablement installé par ipkg !!!! 80

pour information personnelle, as tu le même problème pour mysql (dans /usr/syno/mysql/bin) ???

Posté(e)
  • Auteur

Ouais, il a l'air vraiment bizarre ce 107+ :unknw:

Quand je regarde ce qu'il y a dans /lib/php/.... moi non plus, il n'y a rien dedans!!

drwxr-xr-x 3 root root 1024 Apr 17 2004 .

drwxr-xr-x 8 root root 5120 Apr 17 2004 ..

drwxr-xr-x 2 root root 1024 Aug 28 11:21 extensions

/extensions est vide aussi

pour information personnelle, as tu le même problème pour mysql (dans /usr/syno/mysql/bin) ???

Voila le résultat:

find / -name mysql

/usr/syno/mysql

/usr/syno/mysql/bin/mysql

/usr/syno/mysql/lib/mysql

/usr/syno/mysql/share/mysql

/var/services/mysql

/volume1/@database/mysql

/volume1/@database/mysql/mysql

Apparemment ça semble être au même endroit que chez toi, mais il y en a un peu partout aussi!!

Mais quand je tape mysql sous Telnet, ça me répond par un beau "not found" aussi :spiteful:

Il semble effectivement qu'Apache fait un remappage complet du système... Syno aurait-il bricolé tout ça dans cette nouvelle version 5.10 pour éviter les bidouillages avec Telnet?

J'ai vu quelques posts à ce sujet sur leur forum.. dont des réponses de Ikeke d'ailleurs :D

Mon CD Syno d'origine contient un .pat "synology_88f5281_107+_0456.pat" d'avril 2007, donc version 4.56 je suppose. J'ai bien envie de le mettre à la place du 5.10, pour voir si j'ai les mêmes résultats, mais je ne sais pas si c'est faisable de downgrader la machine??

Posté(e)

Bonsoir,

Non mais dite moi ?

Est-ce que quelqu'un a fait fonctionner ou lancer une page PHP sous une fenetre Telnet ???

Qu'il se désigne, le bougre. Et on lui demande comment il a fait !! :shok:

A+

Fred.

Posté(e)

Hello :hi:

Est-ce que quelqu'un a fait fonctionner ou lancer une page PHP sous une fenetre Telnet ???

Qu'il se désigne, le bougre. Et on lui demande comment il a fait !! :shok:

Euuuuh! Moi, mais je ne le ferais plus...

En fait, je pensais la même chose que toi, mais lorsque j'ai tapé php -h il m'a dit:

Usage: php [options] [-f] <file> [--] [args...]

php [options] -r <code> [--] [args...]

php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]

php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]

php [options] -- [args...]

php [options] -a

-a Run interactively

-c <path>|<file> Look for php.ini file in this directory

-n No php.ini file will be used

-d foo[=bar] Define INI entry foo with value 'bar'

-e Generate extended information for debugger/profiler

-f <file> Parse and execute <file>.

-h This help

-i PHP information

-l Syntax check only (lint)

-m Show compiled in modules

-r <code> Run PHP <code> without using script tags <?..?>

-B <begin_code> Run PHP <begin_code> before processing input lines

-R <code> Run PHP <code> for every input line

-F <file> Parse and execute <file> for every input line

-E <end_code> Run PHP <end_code> after processing all input lines

-H Hide any passed arguments from external tools.

-s Display colour syntax highlighted source.

-v Version number

-w Display source with stripped comments and whitespace.

-z <file> Load Zend extension <file>.

args... Arguments passed to script. Use -- args when first argument

starts with - or script is read from stdin

--ini Show configuration file names

--rf <name> Show information about function <name>.

--rc <name> Show information about class <name>.

--re <name> Show information about extension <name>.

--ri <name> Show configuration for extension <name>.

alors je me suis dit il y a peut être des scripts à executer (travaux sur base ou fichiers) en code php, mais c'est vrai que je n'en voyais pas l'utilité, si ce n'est profiter des modules tout pret ...

je me suis alors amusé à créer un fichier: essai.php

#!/opt/bin/php -f

<? echo "Hello World" ?>

avec chmod 777 essai.php

et bien à l'execution ./essai.php, il m'affiche Hello World :yahoo:

si tu prends comme exemple l'excellent fichier GraphB2V.php :fool: de je ne sais plus quel naz (for homme :shok: ) avec très peu de bidouille, il pourrait remplacer rrdtools en utilisant le module graphique GD2 de php et en générant des images .jpg, .png ou autre... opu alors d'autre instruction plus spécique, gestion cryptage, snmp, mysql, mathematique, chaines de caractères etc ...

@+

Posté(e)

Re,

Misère, encore toi ? :P

Tu as installé quoi comme packet IPKG pour avoir cette commande ?

Sur mon DS-101G+ et CS-406, y a pas.

A+

Fred.

Posté(e)

Tout juste Auguste :P

ipkg install php (version 5.2.2)

PS: " Mais vous êtes fou - Oh Oui ! "

Posté(e)
  • Auteur

Donc si je comprends bien, sans ipkg, pas moyen d'avoir les commandes de PHP en direct sous Telnet!! Je suis mal avec mon 107+ :unknw:

Je vais donc me tourner vers un site de cron externe pour lancer mon script php de sauvegarde en automatique la nuit..

Au moins j'aurai essayé.. et cette petite discussion aura animé le forum :D

Merci en tout cas pour vos avis :)

Posté(e)

Bonsoir :hi:

Pas forcément, si la base de données est mysql et si mysql est disponible dans le répertoire /usr/syno/mysql/bin

il est possible de faire un script mysql directement sans passer par php

tout dépend de ce que fait le script de sauvegarde...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.