Bonjour,
Tout est dans le titre.
J'ai vu qu'il y avait pas mal de tutos pour planifier une
crontab avec un script PHP, par contre pour at c'est le néant.
Est ce possible ?
Merci d'avance.
Version imprimable
Bonjour,
Tout est dans le titre.
J'ai vu qu'il y avait pas mal de tutos pour planifier une
crontab avec un script PHP, par contre pour at c'est le néant.
Est ce possible ?
Merci d'avance.
AMHA si tu lances une AT basique comme si tu lancais un script shell en lancant ton peucheupeu ça doit marcher non ??
j'ai pas testé mais je vois pas pourquoi ça échouerai (sauf si c'est le script qui est moisi bien sur ) :mouarf:
Tu veux dire avec la fonction exec() de peucheupeu ?
Dans ce cas ce serait quoi la syntaxe ?
J'ai essayé par ex:
mais ça ne marche pas.Code:exec('at 21:39 touch /var/www/web/site/command/coucou.txt"');
Une idée ?
là il te manque au moins une quotation le "Code:exec('at 21:39 touch /var/www/web/site/command/coucou.txt"');
tu peux avoir besoin de \" au lieu de " mais en tout cas la méthode semble logique meme en ne connaissant pas PHP
Bonsoir,
En consultant le man de at il semble que la saisie des commande soient interactive sauf en utilisant la syntaxe
Voici un extrait sorti du man :Code:at <heure/date> -f <fichier>
Citation:
-f fichier : Lire la commande à exécuter depuis le fichier fichier et non depuis l'entrée standard.
-t heure : Exécuter la commande à l'heure heure, donnée selon le format [[SS]AA]MMJJhhmm[.ss]
Merci pour ces réponses.
Mais pour l'heure je viens de m'apercevoir que même une simple commande comme:
ne fonctionne pas (alors qu'elle marche dans la console).Code:echo exec('whoami');
Il doit y avoir un problème avec PHP ou les permissions d'Apache.
Si quelqu'un a une piste...
Bonsoir,
Chez moi j'ai ceci pour apache dans /etc/passwd :
Cela n'aurait pas une influence sur le fait de pouvoir exécuter une commande système ?Code:www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
Chez moi (Ubuntu 12.04) j'ai :
mais je ne vois pas trop ce que ça veut dire. :oops:Code:www-data:x:33:33:www-data:/var/www:/bin/sh
Est qu'il faut donner l'autorisation à www-data via sudoer du style:
?Code:www-data ALL=(ALL) NOPASSWD: /usr/bin/exec
Je viens de modifier les droits de www-data dans sudoers (juste pour tester) :
Et ça ne marche toujours pas. :?Code:www-data ALL=NOPASSWD: ALL
Une idée ?
Salut,
As tu regarder dans ton php.ini s'il n'y avait pas un paramètre qui inhibe la commande exec ?
Oui, j'ai déjà épluché le php.ini mais rien ne semble empêcher la commande exec.
Voici ce que dit le log d'erreur quand je lance le script:
La commande exec serait elle absente (pas installée) ?Code:
1
2sh: 1: whoami: not found
je dirais plutot qu'elle utilise pas le path profile et qu'il faut donc que ce soit le sript appelé qui fasse tout ... donc surcharge des différentes variables, controles d'erreurs etc... pour que la commande exec soit ok
En ce qui concerne exec la bonne commande est en fait:
et là ça marche.Code:echo exec('/usr/bin/whoami');
Maintenant pour la commande at je suis toujours coincé.
J'ai trouvé une syntaxe qui fonctionne:
où testjob est en fait un simple ficher dans lequel est écrit la commandeCode:exec('/usr/bin/at -f testjob now + 1 minutes');
L'embêtant c'est que je doit utiliser un fichier à chaque fois. :?Code:touch /var/www/web/monsite/coucou.txt
Et apparemment ça ne marche pas avec une heure précise (ex 12:24). :(
J'ai aussi essayé:
mais ça ne fonctionne pas.Code:exec('/usr/bin/at -c "touch /var/www/web/monsite/coucou.txt" now + 1 minutes');
Une idée.. ?