Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Save as app/manifest/recipes/mysql_backup.rb
- # Edit moonshine.yml:
- #
- # - Backup database from database.yml at 3am:
- # :mysql:
- # :backup: true
- #
- # - Get fancy:
- # :mysql:
- # :backup:
- # :database:
- # - myapp_production
- # - some_other_db
- # :minute: 0
- # :hour: 0
- #
- def mysql_backup
- backup = configuration[:mysql][:backup]
- backup_dir = configuration[:deploy_to] + "/backup"
- file backup_dir,:ensure => :directory, :owner => backup[:user]||configuration[:user], :mode => '750'
- (backup[:database]||database_environment[:database]).to_a.each do |db|
- cron "mysqldump of #{db}",
- :command => "mysqldump -uroot #{db} > #{backup_dir}/#{db}.`date +\\%m\\%d\\%H\\%M\\%S\\%Y`.sql",
- :minute => backup[:minute]||0,
- :hour => backup[:hour]||3,
- :dom => backup[:dom]||'*',
- :month => backup[:month]||'*',
- :dow => backup[:dow]||'*',
- :user => backup[:user],configuration[:user]
- :require => file(backup_dir)
- end
- end
- recipe :mysql_backup if configuration[:mysql] && configuration[:mysql][:backup]
Add Comment
Please, Sign In to add comment