Forum général.général cron php

Posté par  .
Étiquettes : aucune
0
6
mai
2006
J'essaie de mettre en place un système automatique de sauvegarde de fichiers et bases de données via un script php et cron. Le script fonctionne parfaitement pour les sauvegardes manuelles, mais cron ne le trouve pas et les chemins relatifs ou absolus de Linux ne sont pas vraiment ma spécialité.
**********************************************
Linux server (dns hostname) 2.4.21-40.EL #1
Php 5.05 comme Apache module (1.3.31)
Accés à cron par Cpanel
Pas d'accés shell
Mon hébergeur ne répond pas
Permissions du répertoire et du fichier 755
***********************************************
Le script qui doit être exécuté, et qui en appelle un autre, bckpp.php:
[
<?php
// This code was created by phpMyBackupPro v.1.8
$_POST['db']=array("db_bcal", "db_cbr", "db_frm", );
$_POST['tables']="on";
$_POST['data']="on";
$_POST['drop']="on";
$_POST['zip']="gzip";
$period=(3600*24)*0;
$security_key="e9bb66605399852f9d91327e8b230977";
// This is the relative path to the phpMyBackupPro v.1.8 directory
@chdir("../bckp/");
(- et j'ai essayé ceci également
@chdir("/home/monlogin/public_html/bckp/");)
@include("backup.php");
?>

"backup.php" se trouvant dans mondomaine.tld/bckp/

Voici la commande cron avec Cpanel (frequence pour test seulement):
* * * * * curl -s -o /dev/null hxxp.www.mondomaine.tld/tmp/bckpp.php


Et la réponse du cron daemon:
/bin/sh: line 1: backups: command not found


Quelqu'un(e) ? Merci.
  • # interpréteur

    Posté par  . Évalué à 1.

    Salut,

    Un script shell commence en général par:

    #!/bin/sh

    si l'on veut utiliser bash comme interpréteur.

    Maintenant, si ta syntaxe est bonne, il est possible que /bin/sh ne soit pas
    disponible sur la machine, mais qu'un autre shell le soit (ksh, etc...), à toi
    de te renseigner auprès de ton FAI.

    D'autre part, je connais pas bien php, mais je me pose la question si l'on peut
    vraiment faire du php à partir d'un shell script ? Si oui, par pure curiosité je
    suis intéressé de savoir comment ?! sinon, l'erreur ne viendrait-elle pas de là ?

    voilà, a+
    Xavier
    • [^] # Re: interpréteur

      Posté par  . Évalué à 1.

      Bonjour,
      Linux, pour un débutant comme moi, ce n'est pas simple, mais contacter mon hébergeur c'est carrément impossible. Quand l'Arlésienne se trouve ailleurs, elle y est vraiment.
      Mon compte ne dispose pas d'accés shell mais j'ignore si cela signifie que je ne peux pas utiliser de script shell. J'ai un répertoire 'etc' dans lequel j'ai créé un sous-répertoire cron.hourly où j'ai mis un script shell avec, autant que je sache, les bonnes permissions (mais peut-être pas le bon "shebang"). Sans résultat.
      Quant au PHP ... quand il est "associé" à Apache comme binaire-cgi (quoi que cela veuille dire) il suffit, paraît-il, d'indiquer le chemin de php et du script à exécuter.
      Quand PHP est compilé comme module Apache la procédure doit passer soit par le web (en incluant le script php dans une page php, mais je ne suis pas arrivé à faire marcher ceci non plus), soit par des commandes Linux comme, toujours paraît-il, wget, lynx, et curl.
      J'espère que ta curiosité est satisfaite. Salut JMarie
  • # Pour commencer...

    Posté par  . Évalué à 3.

    PHP est plus qu'une extension pour serveur web et on peux très bien écrire une application directement dans ce langage.

    Sous Debian, il te faudrait le paquet php4-cli (ou php5-cli...).
    Voilà un exemple de script :
    #! /usr/bin/php
    <?php
    echo "Hello world!";
    ?>
  • # /bin/smile

    Posté par  (site Web personnel) . Évalué à 3.

    Il manque un forum 'humour' ici ;*)

    La gelée de coings est une chose à ne pas avaler de travers.

    • [^] # Re: /bin/smile

      Posté par  . Évalué à 1.

      Surtout pour répondre aux constructeurs du site qui nous gratifient d'un ironique "Cette page est peut-être conforme xhtml 1.0.", puis-je vous proposer un article "Les dessous de la page", sur mon site "err-editions.com".

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.