Problème : exec, crontab

Fermé
skycer666 - 13 avril 2010 à 14:56
 skycer666 - 16 avril 2010 à 08:57
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

dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
13 avril 2010 à 15:18
hello
crontab -l n'affiche rien, même pas "no crontab for <user>" ?
0
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
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
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
14 avril 2010 à 09:47
il faut autoriser l'utilisateur nobody à utiliser cron . voir les fichiers /etc/cron.allow et /etc/cron.deny
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
14 avril 2010 à 11:03
il faut être root, essaye si tu as les droits avec sudo
0
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
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
14 avril 2010 à 12:37
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
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