Project

ftp_sync

0.02
No commit activity in last 3 years
No release in over 3 years
Library for recursively downloading and uploading entire directories from FTP servers. Supports 'quick' downloads pulling only files changed since a specified date and uploading downloading lists of files. Split out from Munkey - a Git <-> FTP tool
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 2.1.1
 Project Readme

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