require 'net/ftp'
require 'rubygems'
require 'logger'
#Configuration
log = Logger.new('backups.log')
ftp_server = 'ftp_server'
ftp_user = 'username'
ftp_passwd = 'password'
ftp_acct = 'account'
#end config
#setup the ftp
ftp = Net::FTP.new(ftp_server)
#login to the server
log.info "Making attempt to login to ftp server, #{ftp_server}"
ftp.login(user = ftp_user, passwd = ftp_passwd, acct = ftp_acct)
#try and fetch the current backup
#if we missed a night, just fetch all backups found!
log.info "Making attempt to fetch current backup"
ftp.get('*.tar.gz')
#we don't want to loose disk space by keeping on the remote server, so lets delete them!
log.info "Making attempt to delete backup from server"
ftp.delete('*.tar.gz')
#end the ftp session
log.info "Logout of ftp server"
ftp.close
|