Taches CRON administrées via PHP?

j’aurais plutot vu un cron qui lit une base de données ( créée par le php ) et lance ffmpeg en bash

@dindoun Comment cela ?
Aujourd’hui (enfin, fait cette nuit), j’ai créé l’interface de gestion admin du planning des vidéos à diffuser, pour chacune desquelles on peut choisir le jour (nom), si c’est hebdomadaire ou non, et si pas hebdo, on choisir le jour (1 à 31 du mois) le mois, et l’année. Bien évidement l’heure et minute et le fichier à envoyer en diffusion.
Une autre page php celle qui serait interrogée par la tache cron), crée selon date et heure, la commande ffmpeg en fonction des divers paramètres ci-dessus.
J’arrive à lire la commande en bash avec curl (la commande ffmpeg s’affiche sur la console quand je lance manuellement le bash, mais je ne parviens pas à faire une commande bash à partir de ce contenu :frowning:

@ZW3B Cool, merkouin :blush: J’avais vu ton site dans les mails notifs mais le post ici a apparemment été effaced. Sympa le site :slight_smile: Perso je rajouterais un fond semi opaque sur la partie centrale car avec les images de fond, c’est hardos à lire, blanc sur clair :crazy_face:

1 J'aime

Ca part dans les boites mails de « abonnés à ma newsletter » - 30 000 personnes en gros… Ce n’est que la page HTML du rendu - Le truc dans les mails « si tu n’arrives pas à lire le mail, clique ici »
Je supprime le commentaire de la journée (y’a les MPV pour çà, oui, ok), c’était moi, aussi, l’autre jour qui l’ai supprimé - Je t’entend-ais :wink:

Bonne journée, bon weekend à vous, et bon taf, pour les travailleurs en astreinte etc…

Plop ! Je parlais plutôt du du site radio avec le bandeau vertical :slight_smile:

bon Ouik :smiley:

Je parlais du site http://eurodance90.fr/ sur ta fiche que j’ai share sur https://radio.zw3b.fr/ la semaine dernière et donc qui est « poussé, mis en avant » dans ma newsletter de la semaine.

:wink:

Bonne réussite dans tes projets, bonne continuation @CouinCouin !

Bon à journée à vous.

Thious.

1 J'aime

Bonjour @CouinCouin ,

Merci à @Clochette pour avoir resitué ou rappeler ton besoin.

Où en est-tu par rapport à ta demande initiale visant à lire (lister) et écrire (modification, ajout) dans le fichier crontab ?

  • pour isoler et corriger le problème, essaye dans un premier temps de faire un simple script php pour lister le contenu d’un fichier de ton répertoire d’accueil par exemple;
  • dans un deuxième temps, teste le bon fonctionnement avec le fichier crontab;
  • continue ensuite en ajoutant les fonctions d’ajout de lignes dans le contenu d’un fichier de ton répertoire d’accueil;
  • vérifie à présent le bon fonctionnement sur ton fichier crontab. Si cela coince, alors vérifie les droits associés au fichier crontab. Il y a de fortes chances que ton problème soit situé à ce niveau.

Bonjour Vincent,

Je suis parti sur seconde méthode (une tache cron lance un script « sh »).
Le script sh récupère le résultat donné par une page PHP distante. Cette page PHP interroge une base de donnée et retourne la commande ffmpeg à effectuer.

Enfin ça c’est ce que je voudrais faire, il a y juste que je n’arrive pas à transformer le contenu généré et lu avec curl, en ligne de commande à exécuter.

Bonsoir @CouinCouin,

Essaye d’utiliser la commande exec en dure dans un premier temps puis dans un deuxième temps alimente exec par une variable.

N’hésite pas à donner un exemple de contenu généré et lu avec curl et la commande ffmpeg à effectuer associée.

Hello :slight_smile:

Je rame déjà avec la variable :frowning:

La commande de test :
ffmpeg -re -stream_loop -1 -i "/var/www/domaine/html/videos/test.mp4" -c:v copy -an -f flv rtmp://localhost/live/video

Dans le fichier lecture.sh, je mets donc :
exec ffmpeg -re -stream_loop -1 -i "/var/www/domaine/html/videos/test.mp4" -c:v copy -an -f flv rtmp://localhost/live/video

Quand je le lance manuellement avec sudo sh, le fichier vidéo test.mp4 est bien diffusé.
Si je lance lecture.sh par une tache cron, la vidéo est aussi diffusée.

Si je change le fichier lecture.sh pour mettre :
$zevar='ffmpeg -re -stream_loop -1 -i "/var/www/domaine/html/videos/test.mp4" -c:v copy -an -f flv rtmp://localhost/live/video'
exec $zevar

J’ai une erreur « not found » dès la première ligne, lorsque je lance manuellement le script (je n’ai pas testé plus loin avec lancement via tache cron). Même chose si j’inverse les ’ et " .

Edit :
eval à la place de exec résout à priori le problème :smiley:

Du coup, le script sh final sera plutôt :
page="$(curl https://zesite.fr/quellevideodiffuser.php)"
eval "$page"

Ok quand lancé en manuel et aussi via une tache cron.

Ça va me permettre de bien avancer ça :smiley: