Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Automatiseren van downloads van een FTP server

Pagina: 1
Acties:

Vraag


  • Reivilo72
  • Registratie: Oktober 2017
  • Laatst online: 04-07 15:30
Ik wil een manier vinden om via een Windows 2008R2 server automatisch downloads binnenhalen van een FTP server en deze autopmatisch kopieren naar een map via een service die draait op de achtergrond.

Weet iemand of dit kan met Robocopy?

Ben er al een tijd naar aan het googlen, maar heb hier geen ervaring mee. Is er misschien iemand die hier tips voor kan geven?

Alle reacties


  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 28-11 18:10

MAX3400

XBL: OctagonQontrol

FTP kan je scripten via commandline; daarna kan je je copy-commando ook scripten.

Maar waarom wil je robocopy gebruiken terwijl je over "een service" praat? Welke service? Wat doet die service?

Je kan toch met scheduled tasks werken?

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


  • HKLM_
  • Registratie: Februari 2009
  • Laatst online: 09:02
Je zou ook nog naar winscp kunnen kijken

Cloud ☁️


  • Equator
  • Registratie: April 2001
  • Laatst online: 28-11 20:09

Equator

Crew Council

#whisky #barista

@Reivilo72
Het scripten van het FTP commando (of SCP, robocopy of iets anders) heeft natuurlijk niets met Professional Networking & Servers te maken.

Move naar Windows Clients

[ Voor 3% gewijzigd door Equator op 19-10-2017 12:35 ]


  • Johan9711
  • Registratie: Maart 2013
  • Laatst online: 28-11 14:14

Johan9711

Verslaaft aan Tweakers

Gebruik WinSCP icm de task scheduler. Hier kan je de commandant Line options van WinSCP vinden:
https://winscp.net/eng/docs/scripting

Mijn tweakblog: http://johan9711.tweakblogs.net/


  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 28-11 23:38

Jazzy

Moderator SSC/PB

Moooooh!

Laat anders eens zien wat je al hebt, of hoe je het aan zou willen pakken. Dan kunnen wij wel helpen met de details waar je niet uitkomt.

Exchange en Office 365 specialist. Mijn blog.


  • TheVMaster
  • Registratie: Juli 2001
  • Laatst online: 11:13

TheVMaster

Moderator WOS
Eh...ik weet niet waarom een netwerkman denkt dat dit een Windows Client dingetje zou zijn, maar de TS heeft het toch echt over WIndows Server 2008 R2, dus....

@Equator ik move hem lekker naar Serversoftware en Windows Servers O-)

  • Equator
  • Registratie: April 2001
  • Laatst online: 28-11 20:09

Equator

Crew Council

#whisky #barista

JackSparrow schreef op donderdag 19 oktober 2017 @ 21:02:
Eh...ik weet niet waarom een netwerkman denkt dat dit een Windows Client dingetje zou zijn, maar de TS heeft het toch echt over WIndows Server 2008 R2, dus....

@Equator ik move hem lekker naar Serversoftware en Windows Servers O-)
Omdat ik de FTP commando Line interface nou niet echt een Server ding vind. Maar, hé, doe je ding ;)

  • TheVMaster
  • Registratie: Juli 2001
  • Laatst online: 11:13

TheVMaster

Moderator WOS
Equator schreef op Thursday 19 October 2017 @ 21:04:
[...]

Omdat ik de FTP commando Line interface nou niet echt een Server ding vind. Maar, hé, doe je ding ;)
Neuh....maar ik vind het schedulen van dit soort zaken i.c.m. services etc. ook niet echt een 'Client' ding :P

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 28-11 23:38

Jazzy

Moderator SSC/PB

Moooooh!

Als de TS Windows 10 in de topicstart gezet had dan ging het nog steeds over exact hetzelfde: het aftrappen van een scriptje in cmd of PowerShell. Al dan niet omgezet naar een service. Heeft verder niets met servers te maken, tenzij de TS ook nog hulp zoekt met het opzetten van een FTP-server.

Maar ik denk dat het even afwachten is op de TS om wat meer duidelijkheid te geven. Denk dat iedereen het er wel over eens is dat het in ieder geval niet in PNS hoorde. :)

Exchange en Office 365 specialist. Mijn blog.


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Dat ja :+

@Reivilo72 inderdaad gewoon scripten. In je favoriete taal. Zeg gerust waar je vastloopt. AFAIK kan je nog steeds sc.exe gebruiken om een service te maken. Of New-service met powershell: https://docs.microsoft.co...rvice?view=powershell-5.1

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Reivilo72
  • Registratie: Oktober 2017
  • Laatst online: 04-07 15:30
Moet er eigenlijk nog aan beginnen, dit topic is bedoeld om een idee te krijgen hoe dit aan te pakken.

Ik heb niet echt ervaring in scripten buiten wat echt basic dingen van enkele regels. Wel wat ervaring in programmeren van kleine desktopapplicaties in .NET en java, maar die kennis is hier niet van toepassing veronderstel ik...

Als ik het goed snap is het dus mogelijk om bv in cmd of powershell een batchfile te maken die connecteert met de FTP server, de nieuwe bestanden daar ophaalt en in een bepaalde map stopt?

En indien ja, kan je als ik het goed begrijp om de zoveel tijd met de task-sheduler op de server instellen dat via deze batchfile om de zoveel tijd gaat kijken of er nieuwe bestanden op de FTP-server staan?

Is het een goed idee om daarmee te beginnen (en dan daarna die batchfile om te zetten naar een service die altijd aanstaat op 1 of andere manier?)

Als dat überhaupt mogelijk is kan ik via google hier voorlopig wel even mee verder om zo'n batchfile in elkaar te krijgen denk ik...

Ik kreeg al een tip om dit met robocopy te proberen, maar las op enkele sites dat dit niet mogelijk is in combinatie met FTP (of wel?)


Vraag komt waarschijnlijk stom over, maar probeer iets bij te leren.. 8)7

[ Voor 19% gewijzigd door Reivilo72 op 20-10-2017 00:29 ]


  • paulhekje
  • Registratie: Maart 2001
  • Laatst online: 18-11 17:08
vanuit een command prompt kun je de command line tools ftp en rocobocopy prima gebruiken.
ftp info: https://www.computerhope.com/issues/ch001249.htm

|=|=|=||=|=|=||=|=|=| http://www.vanwijck.com |=|=|=||=|=|=||=|=|=||=|=|=||=|=|=||=|=|=||=|=|=|


  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 28-11 23:38

Jazzy

Moderator SSC/PB

Moooooh!

Reivilo72 schreef op vrijdag 20 oktober 2017 @ 00:09:
Als ik het goed snap is het dus mogelijk om bv in cmd of powershell een batchfile te maken die connecteert met de FTP server, de nieuwe bestanden daar ophaalt en in een bepaalde map stopt?
Begin gewoon stap voor stap.

Als eerste heb je een ftp-client nodig die het verbinden met de ftp-server en het downloaden van de bestanden voor je uitvoert. Ftp.exe staat standaard op elke Windows computer en lijkt mij het meest voor de hand liggende programma om dit uit te voeren.

Zoek nu zelf eens uit hoe je met ftp.exe verbindt met een server. Zoek dan uit hoe je bestanden op de server opvraagt en tenslotten hoe je een bestand naar de locale computer kopieert. Dit is echt geen rocket science en met Google moet je prima in staat zijn om dit uit te vogelen. Het eindresultaat is dat je een aantal commando's in een Word-documentje hebt staan. Dit is je script.

Als je zover bent dan kun je kijken hoe je dit het beste periodiek af kunt trappen.

Exchange en Office 365 specialist. Mijn blog.


  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 28-11 18:10

MAX3400

XBL: OctagonQontrol

@Jazzy Pas op met je commando's in een Word-documentje; de beginnende beheerder/scripter doet dan copy/paste en komt ineens extra line-breaks tegen met alle gevolgen van dien. :+

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Verwijderd

Ik heb zoiets een tijdje geleden met powershell gedaan. Als je er niet uit komt, wil ik mijn script wel met je delen.

  • akimosan
  • Registratie: Augustus 2003
  • Niet online
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.

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 28-11 13:26
Verwijderd schreef op vrijdag 20 oktober 2017 @ 09:59:
Ik heb zoiets een tijdje geleden met powershell gedaan. Als je er niet uit komt, wil ik mijn script wel met je delen.
Ik heb dit een tijd terug ook met Powershell gedaan.
Ik had wel de WINSCP API nodig (dll file) omdat de default .NET class niet met SFTP overweg kan (en om nou tig regels code te gaan schrijven om hier omheen te werken?)

Aangezien de TS aangeeft wel iets qua ervaring te hebben met .NET zou ik zeggen : bouw het in Powershell.
Dmv Add-Type kun je de WinScp dll aanroepen waarna je met enkele regels code een FTP connectie op kunt zetten.
Daarna is het een koud kunstje om de files te downloaden en weg te schrijven naar de gewenste locatie.
Pagina: 1