Skip to content

Instantly share code, notes, and snippets.

@hammackj
Created July 3, 2012 04:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hammackj/3037747 to your computer and use it in GitHub Desktop.
Save hammackj/3037747 to your computer and use it in GitHub Desktop.
Simple ruby script to backup a home directory via rsync and suspend/start VMs before/after
#!/usr/bin/env ruby
REMOTE_HOST = ""
USER = ""
SOURCE = ""
DESTINATION = "backup/"
vm_list = `vmrun list`.split("\n")
vm_list.shift
puts "[*] Suspending Virtual Machines"
vm_list.each do |vm|
`vmrun -T ws suspend '#{vm}'`
end
sleep(vm_list.count * 10)
puts "[*] Backing up #{SOURCE}"
system "rsync -e ssh -avz --delete-after #{SOURCE} #{USER}@#{REMOTE_HOST}:#{DESTINATION}"
sleep(vm_list.count * 15)
puts "[*] Starting Virtual Machines"
vm_list.each do |vm|
`vmrun -T ws start '#{vm}'`
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment