Advertisement
Guest User

Untitled

a guest
Feb 4th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. Client = require 'ftp'
  2. async = require 'async'
  3. remote_path ='/public_html/targetfolder/'
  4. local_path = 'data/'
  5. fs = require 'fs'
  6.  
  7. c = new Client()
  8. c.on 'ready', ()->
  9. c.list remote_path, (err, list)->
  10. if (err) then console.error 'list', err
  11. file_funcs = (getFileFunc file.name for file in list)
  12. async.series file_funcs, ()-> c.end()
  13.  
  14. getFileFunc = (name) ->
  15. (callback)->
  16. if /csv$/.test name
  17. c.get remote_path + name, (err, stream)->
  18. console.log 'Getting ', name
  19. if err then console.log 'get', err
  20. stream.once 'close', callback
  21. stream.pipe fs.createWriteStream local_path + name
  22. else
  23. console.log "Skipping", name
  24. callback()
  25.  
  26. c.connect(
  27. host : 'ftp.targethost.com'
  28. user : 'username@domain.com'
  29. password : 'password'
  30. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement