Synology-Forum.nl
Firmware => Synology DSM algemeen => Topic gestart door: ignacev op 09 februari 2015, 20:59:58
-
Ik heb een gedeelde map aangemaakt FTPMapTest.
Daar wil ik camerabeelden opslaan zonder gebruik te maken van Survaillance Staion.
Vervolgens wil ik elke dag bestanden ouder dan 3 dagen wissen.
Voorlopig heb ik er nu enkele png bestandjes gezet.
Via taakplanner wil ik volgend Linux commando uitvoeren.
find /volume1/FTPMapTest/*.png -mtime +1 -exec rm {} \;
Maar blijkbaar werkt dit niet. Uitgevoerd als admin en ook als root. Waar ga ik in de fout.
-
Heb het in PuTTY (CLI) getest ?
find /volume1/FTPMapTest/*.png -mtime +1 -exec rm {} \;
Ik zou doen: find /volume1/FTPMapTest/*.png -mmin +$((60*72)) -exec rm {} \;
Test eerst of het werkt zoals bedoeld door eerst "rm" te vervangen voor "ls -l".
Dus:
find /volume1/FTPMapTest/*.png -mmin +$((60*72)) -exec ls -l {} \;
-
Ik heb Putty geinstalleerd. Blijkbaar geraak ik in het systeem maar worden zelfs simpele commando's als CD mapnaam niet herkend. Mijn kennis van Linux is heel klein maar ik dacht dat ik zo'n simpel commando wel aankon.
Indien nodig:
Nas = DS413
CPU: FREESCALE QorIQ P1022
-
CD is ook niet goed, moet cd zijn.
Linux (DSM) is hoofdletter gevoelig.
Mijn kennis van Linux is heel klein maar ik dacht dat ik zo'n simpel commando wel aankon.
Kan wel simpel zijn maar een klein foutje en je raakt iets kwijt (rm) wat niet de bedoeling was.
Maar als je mijn test commando neemt (dus "ls -l" i.p.v. "rm" dan kan het geen kwaad.
Wanneer de resultaten goed zijn (dus die files mogen verwijderd worden) dan kan je "ls -l" wijzigen naar "rm" en in de Taakplanner zetten.
-
Even terzijde: je kunt in plaats van '-exec rm {} \;' tegenwoordig ook gewoon '-delete' gebruiken. Is wat leesbaarder.
-
Yep, volgens de BSD-Unix manual van 'find':
-delete
Delete found files and/or directories. Always returns true.
This executes from the current working directory as find recurses
down the tree. It will not attempt to delete a filename with a
``/'' character in its pathname relative to ``.'' for security
reasons. Depth-first traversal processing is implied by this
option. Following symlinks is incompatible with this option.
-
CD is ook niet goed, moet cd zijn.
Linux (DSM) is hoofdletter gevoelig.
zelfs met kleine letters lukt het niet.
cd FTPMapTest
Krijg deze melding:
-sh: -cd: can't cd to FTPMapTest
Al is het commando cd gelijkaardig aan de weinige commando's die ik uit mijn DOS periode van 25 jaar geleden nog ken.
-
Als je inlogt dan kom je in /root dus, cd FTPMapTest werkt dan niet (in DOS ook niet als je in de verkeerde directory staat). ::)
Als je dus naar map "FTPMapTest" wilt, doe dan cd /volume1/FTPMapTest
net zoals in DOS. ;)
-
Ik heb me laten misleiden. Ik sta in de rootmap DSPavele als ik cd /volume1/FTPMapTest doe blijft er staan DSPavele. Ik acht dat er dan ging staan DSPavele/volume1/FTPMapTest zoals dit onder Dos is. Nee dus. Maar ik zat wel degelijk in de juiste map. Als ik dan gewoon dir deed krijg ik wel een lijst van de bestanden in die map.
2e fout: in de command line had ik wel 1 lettertje niet ingetikt. Stom hé.
Maar nu werkt het, zowel de oorspronkelijke commandline als de varianten die hier zijn aangegeven.
Bedankt weer veel bijgeleerd. Vooral dat goed typen noodzakelijk is. :|
-
Neem aan dat DSPavele de naam (hostname) van je NAS is dus wat DSM laat zien is
DSPavele>
PS1 variabele zorgt hier n.l. voor in de /etc/profile:
PS1="`hostname`> "
;)
-
Net als onder Dos, daar moest je met het Set commando ook je prompt aanpassen als je je huidige path als prompt wilde hebben.
Werd meestal gezet in de autoexec.bat 8)
-
En het werkt nog steeds:
[attachimg=1]
[attach=2]
:lol: :lol: