Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/08/2014, à 16:31

duddy67

Exécuter la commande at via un script PHP ?

Bonjour,

Tout est dans le titre je crois.
Je suis sous Ubuntu serveur 12.04 et j'aurais besoin d'utiliser la commande at mais pas avec le shell.
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.

Hors ligne

#2 Le 29/08/2014, à 23:25

tiramiseb

Re : Exécuter la commande at via un script PHP ?

Salut,

Bah tu fais exécuter la commande "at" par ton script PHP, rien de bien sorcier...

Hors ligne

#3 Le 29/08/2014, à 23:26

pires57

Re : Exécuter la commande at via un script PHP ?

et alors? adaptes le tuto ! si une commande fonctionne pourquoi l'autre ne fonctionnerais pas?


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#4 Le 30/08/2014, à 07:30

duddy67

Re : Exécuter la commande at via un script PHP ?

En fait je viens de m'apercevoir que même une simple commande comme:

echo exec('whoami');

ne fonctionne pas (alors qu'elle marche dans la console).
Il doit y avoir un problème avec PHP ou les permissions d'Apache.

Dans un script sous quel utilisateur est exécutée la fonction exec ?
Est ce www-data ?

Hors ligne

#5 Le 30/08/2014, à 08:39

bruno

Re : Exécuter la commande at via un script PHP ?

duddy67 a écrit :

En fait je viens de m'apercevoir que même une simple commande comme:

echo exec('whoami');

ne fonctionne pas (alors qu'elle marche dans la console).

C'est à dire, quels sont les messages d'erreurs ? Que disent les logs ?
Comment est configuré ton serveur, notamment PHP : examine le résultat de phpinfo().


Dans un script sous quel utilisateur est exécutée la fonction exec ?
Est ce www-data ?

Si tu utilise Apache avec  mod_php : oui c'est www-data

Hors ligne

#6 Le 30/08/2014, à 09:36

duddy67

Re : Exécuter la commande at via un script PHP ?

C'est à dire, quels sont les messages d'erreurs ?

Lorsque je charge le script rien ne s'affiche, aucun message.

Comment est configuré ton serveur, notamment PHP

apache2 et php5-cgi

Que disent les logs ?

sh: 1:
sudo: not found

Je viens de modifier les droits de www-data dans sudoers (juste pour tester) :

www-data ALL=NOPASSWD: ALL

Et ça ne marche toujours pas.

Une idée ?

Hors ligne

#7 Le 30/08/2014, à 09:53

pires57

Re : Exécuter la commande at via un script PHP ?

postes nous la totalité de ton script, dis nous ou il se trouve.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#8 Le 30/08/2014, à 10:19

duddy67

Re : Exécuter la commande at via un script PHP ?

L'erreur est en fait:

sh: 1:
whoami: not found

Le code du script:

<?php
echo exec('whoami');
?>

Le path:

/var/www/web/monsite/monscript/script.php

Hors ligne

#9 Le 30/08/2014, à 10:21

bruno

Re : Exécuter la commande at via un script PHP ?

<?php
echo exec('/usr/bin/whoami');
?>

Hors ligne

#10 Le 30/08/2014, à 10:42

duddy67

Re : Exécuter la commande at via un script PHP ?

Bien vu, c'était ça ! smile
Bon maintenant retour à mon souci initial:

echo exec('/usr/bin/at 10:41 touch /var/www/web/monsite/coucou.txt');

ne fonctionne pas.
Y a t-il un pb de syntaxe ?

Hors ligne

#11 Le 30/08/2014, à 11:27

duddy67

Re : Exécuter la commande at via un script PHP ?

J'ai trouvé une syntaxe qui fonctionne:

exec('/usr/bin/at -f testjob now + 1 minutes');

où testjob est en fait un simple ficher dans lequel est écrit la commande

touch /var/www/web/monsite/coucou.txt

L'embêtant c'est que je doit utiliser un fichier à chaque fois. hmm
Et apparemment ça ne marche pas avec une heure précise (ex 12:24).

J'ai aussi essayé:

exec('/usr/bin/at -c "touch /var/www/web/monsite/coucou.txt" now + 1 minutes'); 

mais ça ne fonctionne pas.

Une idée ?

Hors ligne

#12 Le 30/08/2014, à 13:32

bruno

Re : Exécuter la commande at via un script PHP ?

Regarde la doc php. Inutile que je recopie ici les didfférentes posibilités avec shell_exec, escapeshellargs, …

Hors ligne