Sha256: c021c104b5fd9da781f5110504f99df1c8d51c43667965d75494c385ae94ba0c
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
#!/usr/bin/env ruby require 'rubygems' require 'ruby-growl' require 'lsync' require 'lsync/shells/ssh' require 'lsync/methods/rsync' # Check we've got two paths for sync. unless ARGV.size == 2 $stderr.puts "Usage: #{$0} [master] [copy]" exit(255) end $growl = Growl.new "localhost", "LSync", ["Backup Status"] $growl.register $script = LSync::Script.new do |script| script.method = LSync::Methods::RSyncSnapshot.new(:push, :arguments => ["--archive", "--compress", "--stats"]) script.master = :src server(:src) do |server| server.root = ARGV[0] end server(:dst) do |server| server.root = ARGV[1] server.on(:success) do |controller| run :prune, "--default-policy" run :rotate, script.method.inprogress_path end end # This event is fired before the backup starts script.on(:prepare) do $growl.notify "Backup Status", "Starting Backup", "Starting at #{Time.now.to_s}" end # This event occurs if the backup is successful script.on(:success) do $growl.notify "Backup Status", "Backup Successful", script.log.string end # This event occurs if any part of the backup fails and is not handled elsewhere. script.on(:failure) do |failure| $growl.notify "Backup Status", "Backup Failure", failure.to_s raise failure end backup('./') end $script.run!
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lsync-2.4.0 | examples/local_backup_growl.rb |