Tpas,
Je vermeldt helaas niet welk besturingssysteem er op je lokale client-computer draait. Als dat Windows is, zijn de mogelijkheden beperkt. Maar als je Linux draait, kun je gemakkelijk gebruik maken van het rsync comando op je client. Wat je nodig hebt is;
1. Een draaiende en geconfigureerde ssh-service op je DiskStation én op je client-pc. Op de DiskStation kun je deze service aanzetten door in de web-interfacepagina een vinkje te plaatsen voor de ssh-service in het linker-menu item 'Netwerkservices'.
Op je client-pc moet je de ssh-service ook aanzetten. Hoe je dat doet, verschilt per Linux-distro. Als je werkt met openSUSE of Ubuntu, wordt het je gemakkelijk gemaakt. In Ubuntu ga je naar het hoofdmenu 'Toepassingen' > 'Beheer' > 'Sysyteemservices' en zet een vinkje voor de vermelding 'ssh'. Als de 'ssh' service niet in de lijst vermeld staat, is hij mogelijk niet geïnstalleerd, of je moet hem weergeven met een andere tool. Typ in een terminalvenster 'rcconf', zoek de ssh service en vink hem aan. Een herstart zou niet nodig moeten zijn, maar kwaad kan het nooit.
2. Een installatie van rsync op je client-pc. Op de de DiskStation zou de rsync-service standaard al moeten draaien, dus daarvoor hoef je niets in te stellen.
Op de commandoregel typ je het volgende;
# rsync -n -vv -u -a --rsh=ssh --exclude-from=/home/tpas/excludes --stats --progress root@DiskStation:/volume1/media /home/tpas/backup
Verklaring;
-n
De optie 'DRY RUN'. Met deze optie wordt er een simulatie uitgevoerd van wat er zou moeten gebeuren. Er worden geen bestanden gekopiëerd. Ik raad je aan deze optie eerst enkele malen uit te proberen om te kijken of in de simulatie alles goed gaat. Daarna kun je de optie '-n' van de commando-regel verwijderen.
/home/tpas/excludes
Een plat tekstbestand in de directory '/home/tpas' met de naam 'excludes'. Dit bestand moet je zelf maken. De inhoud van dit bestand bevat voorwaarden waaraan een bestandsnaam moet voldoen om uitgesloten te worden van de rsync kopiëeractie. Op elke regel mag maar één enkele voorwaarde staan. Als je bijvoorbeeld bestanden met de extensie '*.wma' en *.avi' wilt uitsluiten, typ je;
*.wma
*.avi
en sla het bestand op.
DiskStation
De hostnaam van je Diskstation. Die naam heb je ooit bij het in gebruik stellen van de DiskStation zelf gekozen. Als je de naam niet meer weet, kun je ook het vaste lokale ip-adres van de DiskStation gebruiken, zoiets als '192.168.1.3'. Ik raad je overigens sterk aan een vast ip-adres toe te kennen aan de DiskStation.
/volume1/media
Het volledige pad naar de bronmap. Alle directories, subdirectories en bestanden in deze map worden gekopiëerd, met uitzondering van de bestanden met de extensie '*.wma' en '*.avi', zoals gespecificeerd in het bestand 'excludes'.
(Let op dat de bronmap '/media' vooraf wordt gegeaan door de mapnaam '/volume1'. Dit heeft technische redenen. Op deze wijze staat de map '/media' geregistreerd in de directory-structuur van de DiskStation. Als je het leuk vind om eens rond te neuzen in de directory-structuur van de DiskStation kun je op de DiskStation inloggen met het commando
# ssh DiskStation (vervang DiskStation door de echte hostnaam van je DiskStation)
of
# ssh 192.168.1.3 (of zoiets)
Je wordt vervolgens gevraagd naar het wachtwoord van het 'root' account. Dat is hetzelfde wachtwoord als van het 'Admin' account voor de web-interface van de DiskStation. Typ het in. Nu ben je aanbeland in de directory-structuur van je DiskStation. Je zult (misschien tot je verbazing) ontdekken dat de Diskstation gewoon bestaat uit een minimale Linux-distro met dito directory-structuur. In welke directory sta je nu? Typ 'pwd' <ENTER> en je ziet het. Welke bestanden en mappen staan er hier? Typ 'ls -la' <ENTER> en je ziet het. Navigeer met het commando 'cd' naar de hoodfmap van de Diskstation. Zoek de map '/volume1' en navigeer er naartoe. Onder deze map zie je je eigen gedeelde map '/media' staan. Cool hè? Typ 'exit' om weer uit te loggen.)
/home/tpas/backup
Het volledige pad naar de doelmap. Hier worden alle directories, subdirectories en bestanden uit de bronmap naar toe gekopiëerd, met uitzondering van de bestanden met de extensie '*.wma' en '*.avi', zoals gespecificeerd in het bestand 'excludes'.
Let op dat in dit geval ook de bronmap '/media' zelf wordt gekopiëerd en als subdirectory in de doelmap '/backup' wordt geplaatst. Als je dit niet wilt, en alleen de inhoud van '/media' wilt kopiëren, moet je achter de vermelding van de bronmap een extra slash toevoegen, zoals '/volume/media/' in plaats van '/volume/media'.
Als er iets mis gaat, is dat meestal het gevolg van een weigerachtige ssh-service. Je hebt dan bijvoorbeeld een verkeerd wachtwoord ingetypt. (Om het voor jezelf gemakkelijk te houden, kun je het beste één en hetzelfde wachtwoord gebruiken voor het account 'Admin' op je DiskStation en voor het 'root' account op je client-pc.) Of de benodigde TCP/IP poort op je client-pc (22) staat niet open. Of de firewall op je client-pc houdt het ssh-verkeer tegen. Zet poort 22 in je firewall open en sta al het ssh-verkeer in je firewall gewoon toe.
Voor het geval je Windows 2000 of hoger draait op je client-pc, kun je gebruik maken van cygwin. Dat is een Windows-programma waarmee een Linux omgeving wordt gesimuleerd. Het is een soort terminalvenster dat zich netjes aan (bijna) alle Linux gedragregels houdt. Je kunt dus in cygwin gewoon het rsync commando gebruiken, net zoals je in Linux zou doen. Ik heb het nooit gebruikt, maar de cygwin-gemeenschap is er lyrisch over.
Als er nog vragen zijn (of als ik de plank volledig mis heb geslagen), schroom niet om te reageren.
Groetjes,
jobenk