Auteur Topic: Hulp gevraagd met Linux script  (gelezen 4294 keer)

Offline henkg

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 20
  • -Ontvangen: 157
  • Berichten: 735
Hulp gevraagd met Linux script
« Gepost op: 22 december 2014, 13:08:26 »
Wat heb ik:
-   Een folder met JPG’s, bestandsnamen bevatten datum en tijd
Wat wil ik:
-   Automatisch elk kwartier alleen de meest recente JPG (o.b.v. filestamp) kopiëren naar (overschrijven van) een JPG met een vaste naam. Naar een subdir binnen de web share.
Waarom:
Op mijn weersite wil ik elk kwartier (of zo) een verse snapshot tonen.
Mijn goedkope IPcam (Escam QD500) ondersteunt geen cgi om snapshots te verkrijgen. Met SurveillanceStation 7 kan ik nu scheduled steeds een snapshot maken. Dat werkt. Ik weet inmiddels waar ze staan (volume1/surveillance/@Snapshot), ik kan erbij als user root. De bestandsnaam van die snapshots bevat logischerwijs ook datum en tijd.
Voor mijn webpagina is het echter veel handiger om een vaste naam te hebben. Iets als hetweernu.JPG. Met steeds verversen van dat bestand verwijst een en dezelfde link steeds naar de meest recente JPG. Met iets dat scheduled (crontab) steeds die JPG ververst ben ik klaar.

Dit is dus de bedoeling: http://henkg.myds.me/weerpi/

Mijn vraag is: kun je me op weg helpen?
DS920+. 4x WD40EFRX. SHR. Btfrs
DS412+. 4x WD40EFRX, SHR, Btfrs (backup)
DS210J, 2x WD40EFRX, SHR, Ext4 (buiten gebruik)
Windows 10, Router EPC3940. Switch TP-Link TL-SG1008D Mede8er MED600X3D, UPS APC BX950MI-GR. HUMAX5200c

Offline peeweesyn

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 7
  • -Ontvangen: 88
  • Berichten: 379
Re: Hulp gevraagd met Linux script
« Reactie #1 Gepost op: 22 december 2014, 14:13:26 »
Ik denk dat dit je wel op weg helpt:

http://superuser.com/questions/678191/copy-new-files-from-a-monitored-folder-to-another-in-debian

Daar staat alles in, behalve dat het doelbestand telkens dezelfde naam moet hebben. Als je de commando's eerst stuk voor stuk handmatig test en een beetje experimenteert zal dat ook wel lukken. I.p.v. crontab kun je ook een taak plannen via de taakplanner van Synology, is wat eenvoudiger denk iik.
  • Mijn Synology: 918+
  • HDD's: 2x 4Tb WD Red
  • Extra's: 12GB
3rd party packages: TVHeadend, Domoticz, Kopano (in virtual machine)

Offline henkg

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 20
  • -Ontvangen: 157
  • Berichten: 735
Re: Hulp gevraagd met Linux script
« Reactie #2 Gepost op: 23 december 2014, 13:13:31 »
Dank voor reactie. Probleem zit hem echter met name in het kopiëren naar steeds dezelfde vaste bestandsnaam.

Ik doe dat, na veel proberen, sinds vandaag zo:
Een script dat iedere minuut draait (schedule SS7 snapshot draait elke 10 minuten)
mv –f /volume1/surveillance/@Snapshot/webcam*.jpg /volume1/web/weerpi/webcamnu.jpg
(script niet met task scheduler, kleinste interval is daar 1 uur. Dus direct via /etc/crontab)
Dit is trouwens mijn allereerste zelfgemaakte script. Ook wat geleerd over chmod 755 ;)

Lelijk, want als dit script meer dan één .JPG voor de kiezen krijgt werkt het commando mv niet meer.
Wellicht op te lossen door als tweede regel op te nemen: rm webcam*.jpg. Bij een mv probleem runt die tweede regel wel, en daarmee ook de volgende run van het script.

Verder gooi ik zo de SS7 JPG’s weg. Aan de ene kant goed: ruimt lekker op, ik heb toch geen historie nodig. Aan de andere kant: ik weet nog niet of de snapshot DB binnen SS7 dat wel fijn vindt.

Een vieze lelijke oplossing dus (maar het werkt wel!)
Ik houd me aanbevolen voor een elegantere oplossing.
Resultaat zie: http://henkg.myds.me/weercmx/
DS920+. 4x WD40EFRX. SHR. Btfrs
DS412+. 4x WD40EFRX, SHR, Btfrs (backup)
DS210J, 2x WD40EFRX, SHR, Ext4 (buiten gebruik)
Windows 10, Router EPC3940. Switch TP-Link TL-SG1008D Mede8er MED600X3D, UPS APC BX950MI-GR. HUMAX5200c

Ben(V)

  • Gast
Re: Hulp gevraagd met Linux script
« Reactie #3 Gepost op: 23 december 2014, 15:02:50 »
Kan je wel helpen met een klein python script maar dan zul je ook python moeten installeren.
Je moet even de TargetSpec aanpassen want je zag nergens waar ze precies heen moeten.
De TimeOut is in secoden, dus 900 seconden is een kwartier.
Het script blijft eeuwig draaien.

Save de code in een bestandje met de extensie python.
Je kunt het draaien door het met python aan te roepen.

Code: (python) [Selecteer]
import glob, os, shutil, time

SourceSpec ="/volume1/surveillance/@Snapshot/*.jpg"
TargetSPec ="/volume1/<path>/hetweernu.jpg"
TimeOut  = 900
ForeEver = True

while(ForeEver):
    NewestFile = max(glob.iglob(SourceSpec), key=os.path.getctime)
    shutil.copyfile(NewestFile, TargetSpec)
    time.sleep(TimeOut)

PS Het is een beetje barebone code, want als er geen .jpg in die directory staat wordt dat niet afgevangen en crashed het.
Als je het wilt gaan gebruiken kan ik het nog wel wat voor je verbeteren, laat maaar horen.

Offline henkg

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 20
  • -Ontvangen: 157
  • Berichten: 735
Re: Hulp gevraagd met Linux script
« Reactie #4 Gepost op: 23 december 2014, 15:38:09 »
@Ben(V): Ik heb op mijn RPI weliswaar PYWWS draaien, en kan prima de .XML templates daarvan aanpassen, maar van Python zelf weet ik nog vrijwel niks. Dit omdat ik een klant&klare PYWWS image heb geïnstalleerd.
Nu moet ik van jou me ook in Python gaan verdiepen. Je wordt bedankt :(
Nu serieus: Dank, daar heb ik wat aan, met name de functie NewestFile(). Kan wel een aantal dagen duren voordat ik ermee aan de slag ga. Je hoort tzt.

DS920+. 4x WD40EFRX. SHR. Btfrs
DS412+. 4x WD40EFRX, SHR, Btfrs (backup)
DS210J, 2x WD40EFRX, SHR, Ext4 (buiten gebruik)
Windows 10, Router EPC3940. Switch TP-Link TL-SG1008D Mede8er MED600X3D, UPS APC BX950MI-GR. HUMAX5200c


 

hulp bij installatie in Amsterdam

Gestart door bartjanjBoard The lounge

Reacties: 7
Gelezen: 4263
Laatste bericht 03 november 2011, 18:16:53
door Nelesss
Hulp voor backup bij versturen factuur

Gestart door melliemvdgBoard Synology DSM algemeen

Reacties: 7
Gelezen: 823
Laatste bericht 18 juni 2022, 18:51:14
door melliemvdg
Hulp bij instellen DS214SE

Gestart door NuenasBoard Synology DSM algemeen

Reacties: 1
Gelezen: 1819
Laatste bericht 03 december 2014, 16:06:34
door cyrus1977
Hulp gezocht

Gestart door arneBoard Synology DSM algemeen

Reacties: 16
Gelezen: 8782
Laatste bericht 08 mei 2013, 12:52:10
door Briolet
expert en hulp gezocht

Gestart door petje74Board The lounge

Reacties: 8
Gelezen: 2341
Laatste bericht 30 december 2016, 10:54:43
door petje74