Synology-Forum.nl
Overige software => File Station => Topic gestart door: bassie70 op 21 oktober 2019, 18:00:12
-
Ik kan het nergens vinden, misschien heeft hier iemand de oplossing.
Op onze synology staan de profielen van zo een 60 gebruikers.
Alle gebruikers hebben een downloadmap, deze wil ik dus wekelijks via een script oid laten legen.
Is er ergens een script die bij elke gebruiker de download map leeg maakt?
Dat zou heel mooi zijn en scheelt ons een hoop werk.
Ik ben benieuwd.
Gr Bas
-
Je maakt een lijst met de 60 paden naar die downloadmappen. En dan laat je een script die lijsr wekelijks inlezen en de mappen legen.
Lastiger wordt het als gebruikers de naam van de downloadmap zelf kunnen wijzigen. Dan moet je een stuk meer werk doen omdat je niet meer blind op die lijst kunt vertrouwen.
-
Ok, als dat de oplossing is, is hier toevallig een script aanwezig? Of hoe maken we dat script?
-
Voor een script schrijven kun je hier kijken. Unix shell scripting (https://www.tutorialspoint.com/unix/shell_scripting.htm)
Ook als je alleen bestaande scripts wilt aanpassen heb je deze basiskennis uit de tutorial nodig.
-
Thanks, daar kom ik wel uit. :thumbup:
-
Overigens hoef je het wekelijks uitvoeren niet zelf te programmeren. Dat gaat gewoon via de taakplanner van de nas.
-
Je moet er wel rekening mee houden, dat niet alle functies/commands aanwezig zijn in DSM.
-
Er zullen alleen standaard functies nodig zijn die er wel in zitten.
Je definieert een array waar je het variabele deel van de paden in zet. (waarschijnlijk de account namen)
lijst=(jan piet henk)
Vervolgens loop je met een for loopje door die lijst, bouwt het pad op naar de betreffende folder en wist de inhoud.
Iets in de trant van
lengte=${#lijst[@]}
for (( index=0; index<$lengte; index++ )); do
rm -fv "/volumex/xxxxx/"${lijst[${index}]}"/downloadfolder/*.*"
done
Alles ongeteste code. En dat pad is ook alleen een voorbeeld. Alles hangt er vanaf hoe logisch de downloadfolders zijn. Als er geen logica in zit die programmeerbaar is, dan moet je het hele pad in de lijst opnemen.
En test het script niet met "*.*" op het eind van het pad, maar met een specifieke filenaam. (voor het geval een fout in de code je hele nas wist)