Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- #$LOAD_PATH << File.expand_path(File.dirname(__FILE__))
- require 'rubygems'
- env = ARGV[0] || 'development'
- ENV['RAILS_ENV'] = env
- puts "Loading environment: #{env}"
- require File.dirname(__FILE__) + '/../config/boot'
- require File.dirname(__FILE__) + '/../config/environment'
- def connect(environment)
- conf = YAML::load(File.open(File.dirname(__FILE__) + '/../config/database.yml'))
- ActiveRecord::Base.establish_connection(conf[environment])
- end
- # Open ActiveRecord connection
- connect(env)
- puts "STARTED: #{Time.now}"
- # On sunday, production DB should be exported with all tables and on other days, it should exclude email_charges, perf, vm_daily_rollup tables
- if Time.now.friday?
- # export_command = "mysqldump vm accounts addon_rates addons applications audits auth delayed_jobs dhcp disk_layouts email_charges eracent_dsts hadoop host host_groups inventory ip lpars mac non_cloud_items notifications pending perf pkg rates roles roles_users schema_migrations sessions storage_mappings storage_rates system_design_addons system_designs teradata users vdi_requests vm vm_account_audits vm_activities vm_addons vm_daily_rollup vm_images vm_owner vm_owner_audit vsi_activities vsi_requests vsi_templates -h trprcpmysql1.intra.searshc.com -u web -p'rhw&icb' --skip-disable-keys --complete-insert --skip-add-locks --quick --skip-extended-insert --lock-tables=false > /backup/#{Date.today.strftime('%Y-%m-%d')}-full.sql"
- export_command = "mysqldump vm --ignore-table=vm.perf_old -h prdpdb.global.us.shldcorp.com -P 3372 -u dba -p'*****' --skip-disable-keys --complete-insert --skip-add-locks --quick --skip-extended-insert --lock-tables=false > /shares/backup/#{Date.today.strftime('%Y-%m-%d')}-full.sql"
- del_command = "find /shares/backup/*-full* -maxdepth 1 -type f -mtime +10 -exec rm {} \\;"
- del_msg = "Deleting weekly backup file keeping last 1 only..."
- else
- # export_command = "mysqldump vm accounts addon_rates addons applications audits auth delayed_jobs dhcp disk_layouts eracent_dsts hadoop host host_groups inventory ip lpars mac non_cloud_items notifications pending pkg rates roles roles_users schema_migrations sessions storage_mappings storage_rates system_design_addons system_designs teradata users vdi_requests vm vm_account_audits vm_activities vm_addons vm_images vm_owner vm_owner_audit vsi_activities vsi_requests vsi_templates -h trprcpmysql1.intra.searshc.com -u web -p'rhw&icb' --skip-disable-keys --complete-insert --skip-add-locks --quick --skip-extended-insert --lock-tables=false > /backup/#{Date.today.strftime('%Y-%m-%d')}.sql"
- export_command = "mysqldump vm --ignore-table=vm.email_charges --ignore-table=vm.perf --ignore-table=vm.perf_old --ignore-table=vm.vm_daily_rollup -h prdpdb.global.us.shldcorp.com -P 3372 -u dba -p'*****' --skip-disable-keys --complete-insert --skip-add-locks --quick --skip-extended-insert --lock-tables=false > /shares/backup/#{Date.today.strftime('%Y-%m-%d')}.sql"
- del_command = "find /shares/backup/ -maxdepth 1 -type f -mtime +9 -exec rm {} \\;"
- del_msg = "Deleting 10 days older backup files..."
- end
- puts "Exporting Production Cloud Database..."
- system(export_command)
- puts del_msg
- system(del_command)
- puts "Backup of production is Complete."
- puts "FINISHED: #{Time.now}"
Add Comment
Please, Sign In to add comment