#!/usr/bin/env ruby # Utility scripts to download the needed db files for vagrant # They will be stored in the subdirectory db_dumps require 'fileutils' yesterday = Time.now-24*60*60 Src = 'ngiger@62.12.131.46:/var/backup/fast/db/postgresql' Dest = '/var/backup/fast/db_dumps' FileUtils.makedirs(Dest) Databases = [ 'bbmb', 'bbmb_yus', 'globopharm_xmlconv', 'postgres', 'sandoz_bbmb', 'sandoz_xmlconv', 'sandoz_yus', 'virbac_bbmb', 'virbac_yus', 'yus', ] Databases.each{ |db_name| yyyy = yesterday.strftime('%Y') mm = yesterday.strftime('%m') month = yesterday.strftime('%B') dd = yesterday.strftime('%d') dated_file = "#{Dest}/#{db_name}-#{yyyy}-#{mm}-#{dd}-backup.gz" dest_file = "#{Dest}/pg-db-#{db_name}-backup.gz" yesterday_file = "#{yyyy}-#{mm}-#{dd}/22\:00-postgresql_database-#{db_name}-backup.gz" cmd = "scp #{Src}/#{month}-#{yyyy}/#{yesterday_file} #{dated_file}" if File.exists?(dated_file) puts "Skipping, as #{dated_file} already exists" else puts cmd FileUtils.rm_f(dated_file, :verbose => true) FileUtils.rm_f(dest_file, :verbose => true) exit 1 unless system(cmd) Dir.chdir(Dest) FileUtils.ln_s(File.basename(dated_file), File.basename(dest_file)) end }