Synology-Forum.nl
Firmware => Synology DSM algemeen => Topic gestart door: Thomas425 op 18 juli 2019, 20:56:14
-
Beste mensen,
Ik zou graag na 24 uur automaties bestanden willen laten verwijderen. Daar zag ik op dit form de tekst moest invullen bij planner (find /volume1/Tijdelijke bestanden/* -exec rm {} \; ) maar iedere keer dat ik dat doe krijg ik een mail terug dat het niet gelukt is met de volgende teks : Huidige status: 1 (Onderbroken)
Standaard uitvoer/fout:
find: missing argument to `-exec'
Zouden jullie mij kunnen vertellen wat ik fout doe?
Met vriendelijke groet,
Thomas
-
Dit moet werken:
find /volume1/"Tijdelijke bestanden"/* -exec rm {} \;
Hierbij ga ik ervan uit dat "Tijdelijke bestanden" een gedeelde map is, dus tussen " staat.
-
Beste Birdy,
Dankjewel voor de reactie het werkt maar nu heb ik de volgende vraag : na mijn mening verwijdert de comment geen mappen (zie foto) klopt dit of zie ik iets verkeerd?
Met vriendelijke groet,
Thomas
-
Klopt, dan moet je -rf toevoegen dus:
find /volume1/"Tijdelijke bestanden"/* -exec rm -rf {} \;
-
Je kunt natuurlijk ook de help opvragen met "rm --help". Dan zie je de exacte syntax. Want jammer genoeg zijn de parameters soms verschillend tussen versies en kun je beter vooraf checken of je het goed doet. Zeker bij iets ingrijpends als een remove.
-
Zo te zien heb je op de bewuste share ook de prullenbak aanstaan. Die kun je dan beter uitzetten.
-
Dankjewel voor de reacties.
Ik heb nog een laaste vraag : kan je in de code (find /volume1/"Tijdelijke bestanden"/* -exec rm {} \; ) ook tijd verwerken bijv dat bestanden na 24 uur verwijdert worden?
@Hofstede dankjewel voor het zeggen die ga ik meteen uitzetten!
Met vriendelijke groet,
Thomas
-
Afhankelijk van welke versie van find je gebruikt zou het toevoegen van -mtime +1 kunnen werken.
De opdracht wordt dan
find /volume1/"Tijdelijke bestanden"/* -mtime +1 -exec rm -rf {} \;
De toevoeging "-mtime +1" zorgt er dan voor dat find alleen alle bestanden in /volume1/"Tijdelijke bestanden"/ vindt die ouder zijn dan 1 dag.
Of deze instructie het gewenste effect gaat hebben is echter maar de vraag.
Als een folder die meer dan 1 dag oud is bestanden bevat die nog geen dag oud zijn vindt find die folder, en rm -rf verwijdert deze met inhoud en al.
Dat valt te voorkomen door het verder toevoegen van -type f aan het find command; find zal dan alleen files vinden.
Dat betekent alleen dat je mogelijk lege directories overhoudt, die dan met een apart commando rm /volume1/"Tijdelijke bestanden"/* -d kunnen worden opgeruimd.
Overigens: alle find opties en instructies zou je moeten kunnen vinden via "man find" of "find --help".
-
@Plerry dankjewell voor je reactie !
Ik ga het vanavond / morgen proberen.
Met vriendelijke groet,
Thomas