18 lines
		
	
	
		
			666 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			666 B
		
	
	
	
		
			Ruby
		
	
	
	
class BackupServer 
 | 
						|
  @queue = :high
 | 
						|
 | 
						|
  def self.perform()
 | 
						|
    #CronMail.time_check("Going to backup Orbit").deliver
 | 
						|
    dbhost = Mongoid.config.database.connection.primary.join ':'
 | 
						|
    dbname = Mongoid.config.database.name
 | 
						|
    archive_db_list_path = OrbitSystemPreference::ArchiveDbListPath
 | 
						|
    dbdirectory = "#{Rails.root}/tmp/#{dbname}-"+Time.now.strftime("%Y-%m-%d-%H-%M")
 | 
						|
    %x[mongodump -h #{dbhost} -d #{dbname} -o #{dbdirectory} ]
 | 
						|
 | 
						|
    %x[rm #{archive_db_list_path}]
 | 
						|
    %x[ls #{Rails.root}/tmp/#{dbname}* | du -h --max-depth=1 --block-size=1M |sort -h >> #{archive_db_list_path}]
 | 
						|
    OrbitJobLogger.info "DB backup done Path:#{dbdirectory}"
 | 
						|
    
 | 
						|
  end
 | 
						|
end
 |