Ruby library for syncing local directories with FTP servers
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
README.rdoc
TODO.textile
ftp_sync.gemspec

README.rdoc

FtpSync

A Ruby library for recursively downloading and uploading directories to/from ftp servers. Also supports uploading and downloading a list of files relative to the local/remote roots. You can specify a timestamp to only download files newer than that timestamp, or only download files newer than their local copy.

This was originally written to provide the functionality I needed for Munkey, a tool for tracking changes on FTP servers with git.

Allows you to supply a 'ignore' class that dictates whether a file is excluded from upload / download.

Quickstart

ftp = FtpSync.new 'my.ftp.server.com', 'username', 'password'
ftp.pull_dir '/tmp/syncdir', 'path/on/server'

make some changes on server

ftp.pull_dir '/tmp/syncdir', 'path/on/server', :since => true, :delete => true

:since => true - means only files which are newer than the local copy will be downloaded
:since => Time.now - means only files which are newer than the supplied date will be downloaded
:delete => true - means if the file is removed from the server, then the local copy is removed
:skip_errors => true - means if file cant be read (ie permissions) it will be skipped