Skip to content

Instantly share code, notes, and snippets.

@brainopia
Created July 15, 2009 14:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brainopia/147769 to your computer and use it in GitHub Desktop.
Save brainopia/147769 to your computer and use it in GitHub Desktop.
namespace 'sync' do
desc "Sync data from server with client"
task :client do
host, user = credentials
puts `rsync -rlpgtvz --delete #{user}@#{host}:#{remote_project}/public/system/ public/system`
puts 'Transfering data.yml'
Net::SSH.start host, user do |cmd|
cmd.exec! 'rake RAILS_ENV=production db:data:dump'
cmd.scp.download! "#{remote_project}/db/data.yml", 'db/data.yml'
end
`rake db:data:load`
end
desc "Sync data from client with server"
task :server do
host, user = credentials
puts `rsync -rlpgtvz --delete public/system/ #{user}@#{host}:#{remote_project}/public/system`
puts 'Transfering data.yml'
`rake db:data:dump`
Net::SSH.start host, user do |cmd|
cmd.scp.upload! 'db/data.yml', "#{remote_project}/db/data.yml"
cmd.exec! 'rake RAILS_ENV=production db:data:load'
Rake::Task[:fix_permissions].invoke
Rake::Task['clear_cache:server'].invoke
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment