Problème : exec, crontab

skycer666 -  
 skycer666 -
Bonjour,

je développe une application web sous windows avec un serveur UNIX.
J'ai besoin d'utiliser des crons pour mettre à jour régulièrement des tables me permettant de faire des indicateurs.
Je n'arrive pas à faire fonctionner la commande

exec("crontab -l", $output).

Je ne sais pas pourquoi et je tourne sur internet depuis 5h en espérant trouver une réponse mais rien pour le moment.

PS : j'arrive très bien à utiliser les commandes simples du genre exec("ls -l");

En espérant une réponse de votre part, merci d'avance

Skycer666

9 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    crontab -l n'affiche rien, même pas "no crontab for <user>" ?
    0
  2. skycer666
     
    et bien non, rien du tout car je fais une sortie standard . Voila le bout de code :


    <?php
    exec('crontab -l', $oldCrontab) or die('Pas Marché');
    for($i = 0; $i < count($oldCrontab);$i++)
    {
    echo $oldCrontab[$i]."<br />";
    }
    ?>


    Merci d'avoir déja répondu ;)
    0
  3. skycer666
     
    Je reviens à la charge car je n'ai toujours pas trouvé de solution à mon problème
    Pourrait-il avoir une question de droit ? d'utilisateur ?

    J'ai réussi à rediriger mon erreur et voila ce que j'obtiens dans mon fichier :

    You (nobody) are not allowed to use this program (crontab)
    See crontab(1) for more information
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    il faut autoriser l'utilisateur nobody à utiliser cron . voir les fichiers /etc/cron.allow et /etc/cron.deny
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. skycer666
     
    Comment écrire dans mon fichier cron.allow à partir de la commande exec ??

    j'arrive à lire le fichier avec cat /etc/cron.allow mais pas cron.deny ou j'ai une permission refusée.
    0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    il faut être root, essaye si tu as les droits avec sudo
    0
  8. skycer666
     
    Mais si je fais

    exec('sudo root cat /etc/cron.deny > cron/tmp.txt 2>&1')

    dans mon fichier tmp.txt il y a la demande du password.
    Comment faire pour me loguer en root ?
    Comment faire pour modifier un fichier ?

    PS : rappel, je n'ai pas d'accès direct à une console, je dois tout faire par exec().

    merci de ton aide dubcek
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    le password ne peut pas être lu dans un fichier. Pour donner les droits sudo il faut modifier des fichiers en tant que root, je ne sais pas si ca peut se faire par des exec.
    pour sudo voir là http://doc.ubuntu-fr.org/sudo
    mais quand il demande le mot de passe, tu peux le saisir ?
    si oui il faut juste faire la commande qui modifie /etc/cron.allow:
    sudo echo nobody>> /etc/cron.allow
    0
  10. skycer666
     
    Salut Dubcek, bon pour résoudre mon problème j'ai utilisé Putty qui m'a permis de me connecter à distance à mon serveur à partir d'une console. J'ai donc pu créer mon crontab plus facilement.

    merci encore
    0