Zoals benoemd, hak het in stukken. Focus je eerst op het filetransfer gedeelte (files downloaden/uploaden via een FTP client) en dan het synchroniseren van de files naar de doellocatie bijvoorbeeld met Robocopy.
Als je die scripts aan de gang hebt kun je je vervolgens gaan focussen op het automatiseren daarvan middels een scheduled task.
Om HET als service te draaien: een service is in de basis niets anders dan een proces wat vrij continu draait op je server, op de achtergrond. (on demand starts en dergelijke even uitgezonderd)
Als je dat proces dus start en het proces heeft geen instructies om iets te doen dan wacht het oneindig.
Stel dat je alles in een script hebt gestopt ftpjob.cmd en je start dit met cmd.exe /c ftpjob.cmd dan kun je cmd.exe natuurlijk als een service laten draaien met iets als NSSM (Non Sucky Service Manager, google it..)
Alleen zal bij het starten van de service de routine éénmalig worden uitgevoerd en daarna is je script klaar.
Tenzij er iets van een loop of hele specifieke instructies in je script staan WANNEER iets uitgevoerd moet worden gebeurt er daarna dus helemaal niets meer todat je de service weer stopt en start. En dat wil je juist niet, je wil continu draaien.
Vandaar dat men het hier ook heeft om te kijken naar een scheduled task/geplande taak.
Samenvattend:
Als je het leuk vind om het allemaal te gaan uitzoeken en bouwen kun je de scripting kant op en genoeg admins die er hun hand niet voor omdraaien en gelijk naar hun favoriete programmeer- of scripttaal grijpen.
met
ftp.exe, notepad.exe , robocopy.exe een batchfile en Taakplanner (allemaal ingebouwd in Windows) kun je in principe bouwen wat je wilt. WinSCP kan je ook helpen, betere scripting en genoeg documentatie te vinden.
Zelf de scripts bouwen en onderhouden kan best een hoop tijd gaan kosten en die tijd moet ook betaald worden
No-nonsense: er zijn ook commerciële producten verkrijgbaar die doen wat jij wilt (en die als service draaien) met een eenvoudiger interface om te beheren. Bijvoorbeeld:
http://www.sitedesigner.com/batchsync_secure.htm
Simpelweg VAN en NAAR instellen met de juiste credentials en gaan met die banaan. Kost ook wat centen maar versus kosten van jouw arbeidsuren kan die beslissing toch positiever uitvallen.