Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3079 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  lancer un webserver via crontab ou script

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lancer un webserver via crontab ou script

n°1474748
bemo94
Posté le 14-04-2022 à 12:19:40  profilanswer
 

Bonjour,
 
sur mon raspberry j'ai un webserver accessible depuis l'extérieur via son url
 
mais je voudrais pouvoir le lancer ou l'exécuter automatiquement 1 fois chaque jour à une heure précise
 
pour cela je pense créer un script, appelé par crontab, qui y accède avec une commande du genre chromium-browser ....url....
 
mais quand je fais cela, la commande ne me rends pas la main pour enchainer sur d'autres commandes ou terminer le script
 
je voudrais que la commande se ferme après par exemple un timer de xx secondes
 
comment peut on faire ça ?
 
edit : problème résolu par ailleurs avec ce type de commande : timeout 20 chromium-browser 192.168.x.xxx/allsky/keograms/

Message cité 1 fois
Message édité par bemo94 le 14-04-2022 à 22:07:52
mood
Publicité
Posté le 14-04-2022 à 12:19:40  profilanswer
 

n°1474818
phraide
Posté le 16-04-2022 à 19:22:23  profilanswer
 

man curl :o


---------------
I'm too old for this shit.
n°1474819
bemo94
Posté le 16-04-2022 à 20:13:01  profilanswer
 

Curl ?
 
Maybe i should check that

n°1474834
rat de com​bat
attention rongeur méchant!
Posté le 17-04-2022 à 15:48:53  profilanswer
 


man wget :o :o

n°1474841
bemo94
Posté le 17-04-2022 à 21:55:13  profilanswer
 

hi, just to be sure as i wrote in french and your answer looks like english...
 
the webserver to be launched is on the same computer, but as this webserver creates some thumbnails i want it to be launched once to get these thumbnails created.
 
i saw that with the command chromium i can do it but it doesn't seem very clean
 
can i do the same with  these commands curl or wget ? opening a page on the computer where this command will be launched...

n°1474844
rat de com​bat
attention rongeur méchant!
Posté le 17-04-2022 à 23:39:27  profilanswer
 

Non on parle français ici. ;)
 
Tes miniatures sont créés par le serveur ou par le client (Javascript)?

n°1475175
bemo94
Posté le 28-04-2022 à 11:23:14  profilanswer
 

rat de combat a écrit :

Non on parle français ici. ;)
 
Tes miniatures sont créés par le serveur ou par le client (Javascript)?


 
haha ok, je préfère aussi, je ne comprenais rien à ces réponses avec "man xxx...."
 
les thumbnails sont créés lorsqu'on lance le webserver, alors je ne sais pas bien dire si c'est client ou serveur, mais lorsque je tape l'url de mon webserver sur n'importe quel browser, le webserver sur le Pi me présente les pages et crée les thumbnails qui manquent, pour les accès suivants ils sont créés donc il ne fait plus que les afficher
 
mais il faut bien intégrer la chaine, il y a :
- un Pi4 avec une appli "allsky" qui gère les prises d'images et héberge aussi le webserver
- comme ce pi4 n'est pas accessible via une IP fixe ou un DDNS j'ai intercalé un Pi Zero avec un mount des répertoires du Pi4 qui contient le webserver
- ce Pi Zero a 2 pattes réseau, une sur le LAN ou est le Pi4 (accès internet en 4G), et une sur le LAN de ma box ADSL avec IP fixe
 
c'est un peu tordu mais je n'ai pas trouvé d'autre moyen pour publier ce webserver  
 
donc l'accès à l'url du webserver va activer le webserver sur le pi4 et va faire les mises à jour dans le Pi4 mais via le Pi Zero
 
et lorsque j'accède depuis ce Pi Zero j'ai des messages d'erreur à la création des thumbnails et ils ne sont pas créés
"Unable to create thumbnail for 'keogram-20220416.jpg'.
 
Array ( [type] => 2 [message] => imagejpeg(thumbnails/keogram-20220416.jpg): failed to open stream: Permission denied [file] => /var/www/html/allsky/functions.php [line] => 116 )"
 
problème de droits je pense
 
d'ou l'idée de lancer ce webserver sur le Pi4 automatiquement tous les matins pour que les thumbnails se créent
 
il y a un script EndOfNight qui se déroule tous les matins et c'est là que j'ai mis cette commande chromium qui ouvre le webserver
 
mais si je la lance en terminal sur le pi4 ça marche très bien, et quand elle est lancée par le script les thumbnails ne sont pas créés
 
voilà voilà...
 
 

n°1475176
memaster
ki a volé mon 62?
Posté le 28-04-2022 à 12:01:35  profilanswer
 

bemo94 a écrit :

Bonjour,
 
sur mon raspberry j'ai un webserver accessible depuis l'extérieur via son url
 
mais je voudrais pouvoir le lancer ou l'exécuter automatiquement 1 fois chaque jour à une heure précise
 
pour cela je pense créer un script, appelé par crontab, qui y accède avec une commande du genre chromium-browser ....url....
 
mais quand je fais cela, la commande ne me rends pas la main pour enchainer sur d'autres commandes ou terminer le script
 
je voudrais que la commande se ferme après par exemple un timer de xx secondes
 
comment peut on faire ça ?
 
edit : problème résolu par ailleurs avec ce type de commande : timeout 20 chromium-browser 192.168.x.xxx/allsky/keograms/


c'est quoi comme webserver?
il faut peut être lancer ta commande avec un "&" à la fin


---------------
ma conduite intérieure .:R | memaster pilote officiel de la HFR Badoit-Auchan F1 Team | zéro tracas, zéro blabla MMa.ster
n°1475178
bemo94
Posté le 28-04-2022 à 15:35:34  profilanswer
 

memaster a écrit :


c'est quoi comme webserver?
il faut peut être lancer ta commande avec un "&" à la fin


 
 
précision : c'est quand je lance le script via crontab ou via l'appel du script par l'application Allsky que ça ne marche pas.
si je lance la commande en terminal, ça marche, si je lance le script via terminal, ça marche aussi
 
le soft est là https://github.com/thomasjacquin/allsky
 
le "&" se rajouterai comme ça ?
 
#!/bin/bash
 
# This script is a hook to run additional operations at the end of the night,
# such as copying all the images to an additional server or publishing videos
# to a hosting service. It is run prior to the deletion of any old image files.
 
# To use this script, first copy it to
# $ALLSKY_HOME/scripts/endOfNight_additionalSteps.sh, and then edit the copy.
# This will prevent your changes from being lost in future upgrades.
 
# Include "${ME}" in any output so it's easier to find in the log file, for debugging.
ME="$(basename "$BASH_ARGV0" )"
 
   echo "${ME}: Start of thumbnails creation"
 
   echo "${ME}: Creating thumbnails for keogram"
 
timeout 15 chromium-browser 192.168.2.223/allsky/keograms/ &
sleep 5
 
   echo "${ME}: Creating thumbnails for timelapse"
 
timeout 15 chromium-browser 192.168.2.223/allsky/videos/ &
sleep 5
 
   echo "${ME}: Creating thumbnails for startrails"
 
timeout 15 chromium-browser 192.168.2.223/allsky/startrails/ &
 
   echo "${ME}: End of thumbnails creation"
 
edit : il est lancé ttes les 5 minutes en crontab mais ça ne semble pas fonctionner, pas de thumbnails créés


Message édité par bemo94 le 28-04-2022 à 15:38:51
n°1475179
memaster
ki a volé mon 62?
Posté le 28-04-2022 à 16:11:34  profilanswer
 

c'est un web browser ou un webserver?
à quoi sert allsky pour ton besoin? peut être qu'on y verrai plus clair pour t'aider.
 
ps : pour le &, oui en principe celui ci permet de créer un processus indépendant du père.
et donc ton script devrait redonner la main.
 
ps2 : sinon dans les log ça donne quoi? dmesg...


Message édité par memaster le 28-04-2022 à 16:12:57

---------------
ma conduite intérieure .:R | memaster pilote officiel de la HFR Badoit-Auchan F1 Team | zéro tracas, zéro blabla MMa.ster
mood
Publicité
Posté le 28-04-2022 à 16:11:34  profilanswer
 

n°1475185
bemo94
Posté le 28-04-2022 à 18:21:14  profilanswer
 

moi j'ai compris que c'est un webserver, mais je n'oe saurais pas l'affirmer...
Allsky : voir le lien que j'ai mis plus haut vers le site du programme et sa documentation. Il gère une caméra qui filme le ciel, jour et nuit, prise de poses avec réglages auto de gain et temps de pose, puis création d'un timelapse, filé d'étoiles et keogram chaque matin.
 
pour les logs je ne sais pas ou trouver mes messages echo que j'ai mis dans mon script... dans le répertoire /var je suppose, il y a une log allsky.log, mais quand il est lancé en crontab est ce que ça va au même endroit ?

n°1475186
bemo94
Posté le 28-04-2022 à 18:41:44  profilanswer
 

j'ai mis des commandes echo plus simples :
echo Start of Thumbnails Creation >> /var/log/allsky.log
 
je retrouve bien le message dans la allsky.log à 18.35.00
 
Mais à 18:36:06 je vois ça dans la syslog.log
Apr 28 18:36:06 allsky CRON[1467140]: (CRON) info (No MTA installed, discarding output)
 
Je ne sais pas si ça a un lien avec mon script EndOfNight....


Message édité par bemo94 le 28-04-2022 à 18:42:01
n°1475187
bemo94
Posté le 28-04-2022 à 18:56:33  profilanswer
 

Alors j'ai un petit progrès
 
si je relance la commande chromium en terminal, en fait, j'ai une erreur :
pi@allsky:~ $ [1600465:1600465:0428/185204.251369:ERROR:process_singleton_posix.cc(295)] Le profil semble être utilisé dans le cadre d'un autre processus Chromium (1797759) sur un autre ordinateur (localhost). Ce profil a été verrouillé de sorte qu'il ne soit pas endommagé. Si vous êtes sûr que le profil n'est utilisé dans le cadre d'aucun autre processus, vous pouvez le déverrouiller et relancer Chromium.
 
qui semble dire qu'il faut d'abord déverrouiller un profil ou peut être killer un process pour pouvoir lancer à nouveau chromium
 
il faudrait donc que je mette au début de mon script une commande qui libère ce profil, ou que je trouve une option chromium pour bypasser ça.... je regarde...

n°1475199
bemo94
Posté le 29-04-2022 à 13:32:45  profilanswer
 

finalement ça semble fonctionner en ajoutant ces commandes pkill
 
   echo "${ME}: Start of thumbnails creation"
   echo Start of Thumbnails Creation >> /var/log/allsky.log
 
   echo "${ME}: Creating thumbnails for keogram"
   echo Creating thumbnails for Keograms >> /var/log/allsky.log
pkill -x chromium-browser
export DISPLAY=:0
 
timeout 15 chromium-browser 192.168.2.223/allsky/keograms/ &
sleep 5
 
   echo "${ME}: Creating thumbnails for timelapse"
 
timeout 15 chromium-browser 192.168.2.223/allsky/videos/ &
sleep 5
 
   echo "${ME}: Creating thumbnails for startrails"
 
timeout 15 chromium-browser 192.168.2.223/allsky/startrails/ &
sleep 5
pkill -x chromium-browser
 
   echo "${ME}: End of thumbnails creation"


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  lancer un webserver via crontab ou script

 

Sujets relatifs
Substitution de variable lors d'exécution de script shell à distanceRécupérer les adresse IP avec un script Bash
lancer une commande depuis le promptAppeler une liste pour envoi SMS par script
Aide Script d'installation de service (bash)CURL ok exécuté manuellement mais pas ok en script ?
Script bash configurationLancer mes regles IPTABLES au démarrage
Script qui s'arrête quand la connexion SSH est fermée[Bourne sh] Script
Plus de sujets relatifs à : lancer un webserver via crontab ou script


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR