Bash: script qui tourne en continu
Fermé
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
-
15 avril 2012 à 14:10
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 15 avril 2012 à 15:15
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 15 avril 2012 à 15:15
A voir également:
- Bash: script qui tourne en continu
- Bash permission non accordée - Forum Shell
- Bingo bash free - Télécharger - Divers Jeux
- Bash écrire dans un fichier - Forum Shell
- Bash path - Astuces et Solutions
- Bash: adduser : commande introuvable ✓ - Forum Debian
6 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 620
15 avril 2012 à 14:25
15 avril 2012 à 14:25
hello
exécuter motion en arière plan et le script continue
exécuter motion en arière plan et le script continue
motion &
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
15 avril 2012 à 14:29
15 avril 2012 à 14:29
Salut,
Le plus simple serait de configurer "motion" afin qu'il démarre en même temps que ton PC (Lancement automatique de motion), puisque tu éteins ta machine à la fin du 4, non ?
Pour exécuter une commande en arrière-plan et ainsi pourvoir reprendre la main sur son shell (ou continuer la suite des commandes), il suffit de rajouter "&" :
Sinon, en voyant ton script, peut-être serions-nous plus inspirés... ;-\
Le plus simple serait de configurer "motion" afin qu'il démarre en même temps que ton PC (Lancement automatique de motion), puisque tu éteins ta machine à la fin du 4, non ?
Pour exécuter une commande en arrière-plan et ainsi pourvoir reprendre la main sur son shell (ou continuer la suite des commandes), il suffit de rajouter "&" :
motion &
Sinon, en voyant ton script, peut-être serions-nous plus inspirés... ;-\
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
15 avril 2012 à 14:41
15 avril 2012 à 14:41
si je m'était douté que la réponse était si simple... ^^
alors ok pour motion &
maintenant le truc c'est de faire tourner le reste du script en boucle pour qu'a mini, 18h et minuit il réagisse.
le script: (ya beaucoup d'amélioration a apporter mais je verrais ca plus tard)
Merci ;)
alors ok pour motion &
maintenant le truc c'est de faire tourner le reste du script en boucle pour qu'a mini, 18h et minuit il réagisse.
le script: (ya beaucoup d'amélioration a apporter mais je verrais ca plus tard)
#!/bin/bash # # serveur webcam autonome # ############################################## # Fonctions selection des fichiers à envoyer # ############################################## sPictStart() { sDir1="$1" sDir2="$2" #sDir3="$3" sPictDir1="/tmp/motion/${sDir1}" sPictDir2="/tmp/motion/${sDir2}" #sPictDir3="/tmp/motion/${sDir3}" sCreatDir="/tmp/motion/sendPict/pictures" sTarName="/tmp/motion/sendPict/pictures-$(date +%Y-%m-%d_%HH%M).tar.gz" sPictMail="sendEmail -t email -f email -u photos_fin_journée -a ${sCreatDir}/* -s mail.gandi.net -xu user -xp pass" mkdir ${sCreatDir} ( cd ${sPictDir1} if [ $(ls -a | wc -l) -eq 2 ] ; then return else sFile='ls | head -1' cp $sFile ${sCreatDir} fi ) ( cd ${sPictDir2} if [ $(ls -a | wc -l) -eq 2 ] ; then return else sFile='ls | head -1' cp ${sFile} ${sCreatDir} fi ) ##### pour une 3ème cam #( # cd ${sPictDir3} # if [ $(ls -a | wc -l) -eq 2 ] ; then # return # else # sFile='ls | head -1' # cp ${sFile} ${sCreatDir} # fi #) ##### ( cd /tmp/motion/sendPict tar -zcvf ${sTarName} * ${sPictMail} #rm -f * ) } sPict18() { sDir1="$1" sDir2="$2" #sDir3="$3" sPictDir1="/tmp/motion/${sDir1}" sPictDir2="/tmp/motion/${sDir2}" #sPictDir3="/tmp/motion/${sDir3}" sCreatDir="/tmp/motion/sendPict/pictures" sTarName="/tmp/motion/sendPict/pictures-$(date +%Y-%m-%d_%HH%M).tar.gz" sPictMail="sendEmail -t email -f email -u photos_fin_journée -a ${sCreatDir}/* -s mail.gandi.net -xu user -xp pass" mkdir ${sCreatDir} ( cd ${sPictDir1} if [ $(ls -a | wc -l) -eq 2 ] ; then return else sFile='ls | tail -1' cp ${sFile} ${sCreatDir} fi ) ( cd ${sPictDir2} if [ $(ls -a | wc -l) -eq 2 ] ; then return else sFile='ls | tail -1' cp ${sFile} ${sCreatDir} fi ) ##### pour une 3ème cam #( # cd ${sPictDir3} # if [ $(ls -a | wc -l) -eq 2 ] ; then # return # else # sFile='ls | tail -1' # cp ${sFile} ${sCreatDir} # fi #) ##### ( cd ${sCreatDir} tar -zcvf ${sTarName} pictures ${sPictMail} rm -f * ) } #################### # Lancement motion # #################### ( LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so motion -c motion.conf ) ################################### # Copie et envoi des photos à 12h # ################################### if [ $(date +%H%M) -eq "1200" ] ; then sPictStart "cam1" "cam2" #"cam3" fi #################################### # Copier et envoi des photos à 18h # #################################### if [ $(date +%H%M) -ge "1800" ] ; then sPict18 "cam1" "cam2" "cam3" fi ###################################### # Extinction de motion et du serveur # ###################################### if [ $(date +%H%M) -eq "0000" ] ; then killall motion shutdown -h now fi ####### FIN DU SCRIPT #######
Merci ;)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
15 avril 2012 à 14:46
15 avril 2012 à 14:46
Pourquoi n'utilises-tu pas "cron" pour lancer tes scripts ?
Ou à la limite, utilises la commande "at" dans ton script, non ?
Ou à la limite, utilises la commande "at" dans ton script, non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
15 avril 2012 à 14:51
15 avril 2012 à 14:51
parce cron c'est bien mais je voulais m'essayer à un demon en quelque sorte, créer un script qui rendrais "autonome" la machine avec un seul processus en gros
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
15 avril 2012 à 14:57
15 avril 2012 à 14:57
Ben je ne vois pas où est le problème ???
Une tâche cron (ou via init.d) qui lance le daemon motion à l'initialisation du système
Une tâche cron qui lance ta fonction1 à 12h
Une tâche cron qui lance ta fonction2 à 18h
Une tâche cron qui arrête ta machine à 24h.
Une tâche cron (ou via init.d) qui lance le daemon motion à l'initialisation du système
Une tâche cron qui lance ta fonction1 à 12h
Une tâche cron qui lance ta fonction2 à 18h
Une tâche cron qui arrête ta machine à 24h.
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
15 avril 2012 à 15:05
15 avril 2012 à 15:05
oui je suis d'accord mais le but estd e tout regrouper dans un script qui reproduirait, effectivement, le role de cron
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
15 avril 2012 à 15:15
15 avril 2012 à 15:15
En tout cas merci de m'avoir aidé ;) aussi rapidement. bon dimanche à tous (: