Synology-Forum.nl
Firmware => Synology DSM algemeen => Topic gestart door: dotternetta op 02 juli 2021, 22:24:48
-
Hallo, een tijd geleden heb ik via een forum een script gekregen/gemaakt voor het verwijderen van 1 week oude bewakingsbeelden die via FTP op mijn NAS komen. Echter alles wat er opgeslagen wordt is niet ouder dan een half uur, de rest is weg. Wat gaat hier mis? Dit script runt elke avond om 2100 uur.
find /volume1/homes/ipcam/ -mtime +7 -exec rm -rf {} +
-
find /volume1/homes/ipcam/ -mtime +7 -exec rm -rf {} +
Zou moeten zijn: find /volume1/homes/ipcam/ -mtime +7 exec rm {} \;
-
In de map "ipcam" zitten submappen waarin ook weer submappen zitten..ik weet niet of dat invloed heeft.
Bedankt voor je poging maar ik krijg deze melding:
Taak: 7 dagen oude camera beelden wissen
Starttijd: Fri, 02 Jul 2021 22:47:28 GMT
Stoptijd: Fri, 02 Jul 2021 22:47:29 GMT
Huidige status: 1 (Onderbroken)
Standaard uitvoer/fout:
find: paths must precede expression: exec
Usage: find [-H] [-L] [-P] [-Olevel] [-D
help|tree|search|stat|rates|opt|exec] [path...] [expression]
-
In de map "ipcam" zitten submappen waarin ook weer submappen zitten..ik weet niet of dat invloed heeft.
Oeps...die had ik gemist...
En kon nu wel even testen, gebruik het volgende commando:
find /volume1/homes/ipcam/ -type d -mtime +7 -exec rm -rf 2> /dev/null {} \;
-
Hoi Birdy,
Bedankt! Lijkt goed, tenminste alles staat er nog. Ik moet nu eerst weer een archief opbouwen en zal over 8 dagen kijken wat er staat!
Ik hou je op de hoogte.
groet,
Marten
-
Nou, erg vreemd. Voor 21 uur had ik 8 dagen backup. Om 21 uur runt het script (elke dag) en vandaag:
"Beste gebruiker,
Taakplanner heeft een geplande taak voltooid.
Taak: 7 dagen oude camera beelden wissen
Starttijd: Sun, 11 Jul 2021 21:00:02 GMT
Stoptijd: Sun, 11 Jul 2021 21:00:11 GMT
Huidige status: 1 (Onderbroken)
Standaard uitvoer/fout:
Van DiskStation"
De hele map "ipcam" onder homes is weg! Het script werkt niet helemaal goed.
Het moet alleen bestanden verwijderen die ouder zijn dan 7 dagen en lege mappen verwijderen.
-
Ahhhhh, was misleid door het 1e script: -mtime +7
Dacht in dagen, maar het zijn uren. ::)
Dus, het moet zijn -mtime +168
Sorry :(
-
Maakt niet uit, maar het zijn wel dagen. - en + maakt ook verschil zie ik. Ik pruts verder met atime en type f. Wat doet - rf 2?
-
Je bedoelt "2> /dev/null" en dat betekent, dat foutmeldingen (2>) naar /dev/null (zeg maar een blackhole) gaan.
Dat heb ik er tussen gezet omdat ik in mijn test foutmeldingen kreeg over mappen die niet gevonden konden worden, maar die waren al verwijderd door het script.
-
Aha , duidelijk(er) Dit is allemaal niet echt bekende stof voor mij. Is het mogelijk wat ik wil? Of kan ik beter een andere oplossing zoeken?
-
Waarom een script maken? In surveillancestation kan bij de opname instellingen de bewaartijd in dagen worden aangegeven.
-
Daarom:
voor het verwijderen van 1 week oude bewakingsbeelden die via FTP op mijn NAS komen.
TS gebruikt dus geen SS. ;)
-
Dit is allemaal niet echt bekende stof voor mij. Is het mogelijk wat ik wil?
Ja, het is mogelijk.
-
Of spit even de Find manual (https://man7.org/linux/man-pages/man1/find.1.html) door om te zien wat mogelijk is.
In elk geval is het nooit handig direct met wissen te beginnen. Zorg er eerst voor dat de gevonden files naar een output file gaan. Dan kun je het script tig keer runnen en aanpassen met dezelfde brongegevens totdat hij precies vind wat je wilt zoeken.
-
Test voorbeelden (https://www.google.com/amp/s/www.poftut.com/what-is-mtime-in-linux-and-find-command/%3famp) met -mtime zonder verwijderen.
-
Ahhhhh, was misleid door het 1e script: -mtime +7
Dacht in dagen, maar het zijn uren. ::)
Weet je het zeker? In de link die je hierboven geeft, wordt inderdaad beweerd dat het uren zijn, maar in de linux handleiding die ik gaf, zijn het wel degelijk dagen. (Misschien een verschil bij dit commando onder Linux en Windows?)
Ik heb het even op de nas getest en dan klopt het resultaat alleen als het dagen zijn.
Ook op de mac zijn het per default dagen. Alleen kun je er op de mac nog een tijdseenheid aan toevoegen. b.v +7d, +7h of zelfs +7d4h30m.
De linux versie op de nas geeft echter een foutmelding als je een tijdseenheid toevoegt.
-
Ben nu deze aan het testen:
find /volume1/homes/ipcam/ -type f -mtime +7 -exec rm -rf \;
Wat doet "rm"? Remove? en wat doen -rf?
Empty folders krijg ik weg met dit script:
find /volume1/homes/ipcam/ -type d -empty -exec rmdir {} \;
-
Waarom een script maken? In surveillancestation kan bij de opname instellingen de bewaartijd in dagen worden aangegeven.
Gebruik ik ook, werkt goed. Maar ik heb meer camera's en wil heb geen dure licenties nodig als dit script lekker werkt.
-
Mooi 20 Gb archief gebouwd met de beelden. Oudste files zijn van 07-11.
Voorbeeld van het pad: /homes/ipcam/achter/20210711/images/A21071121313010.jpg
find /volume1/homes/ipcam/ -type f -mtime +7 -exec rm -rf \; doet niets.
find /volume1/homes/ipcam/ -type f -atime +7 -exec rm -rf \; doet niets.
Wat doe ik verkeerd?
Edit: find /volume1/homes/ipcam/ -mtime +7 -exec rm -rf {} \; dit werkt! Oudste file is nu van 14-07, niet echt 7 dagen maar dat maakt niet uit.
(wel met wat fouten:
find: `/volume1/homes/ipcam/hiem/20210712': No such file or directory
find: `/volume1/homes/ipcam/hiem/20210713': No such file or directory
find: `/volume1/homes/ipcam/achter/20210711': No such file or directory
find: `/volume1/homes/ipcam/achter/20210712': No such file or directory
find: `/volume1/homes/ipcam/achter/20210713': No such file or directory
find: `/volume1/homes/ipcam/keamer/20210712': No such file or directory
find: `/volume1/homes/ipcam/keamer/20210713': No such file or directory
find: `/volume1/homes/ipcam/tun/20210711': No such file or directory
find: `/volume1/homes/ipcam/tun/20210714': No such file or directory
find: `/volume1/homes/ipcam/tun/20210712': No such file or directory
find: `/volume1/homes/ipcam/tun/20210713': No such file or directory
find: `/volume1/homes/ipcam/hok': No such file or directory)
-
Daarom dit dus:
Je bedoelt "2> /dev/null" en dat betekent, dat foutmeldingen (2>) naar /dev/null (zeg maar een blackhole) gaan.
Dat heb ik er tussen gezet omdat ik in mijn test foutmeldingen kreeg over mappen die niet gevonden konden worden, maar die waren al verwijderd door het script.
-
Dan zet ik dat er weer bij. Bedankt voor je hulp!
Moet ik nog iets doen met de melding van Synology over de onveilige beheerdersaccount? Volstaat een andere inlognaam dan Admin te nemen? Ik heb in ieder geval 2 staps ver(i)ficatie aangezet (vertaalfout gevonden!)
-
Er gebeurt toch iets vreemds met het script. Eerder deze week had ik 6 dagen camera beelden maar nu nog maar 2 dagen. Net of wordt alles 1 keer per week helemaal gewist.
Vandaag woensdag 18-08-21 heb ik alleen beelden van na 21 uur vandaag van 1 camera. Om 21 uur wordt het script uitgevoerd en alle oude opnames worden gewist. Er is iets vreemds aan de hand met: find /volume1/homes/ipcam/ -mtime +7 -exec rm -rf {} \;
Zou atime beter werken?