lib/dreamback/backup.rb in dreamback-0.0.6 vs lib/dreamback/backup.rb in dreamback-0.0.7

- old
+ new

@@ -37,25 +37,27 @@ backup_folders << [ entry.name, entry.name.split(".")[1].to_i ] if entry.name.include?("dreamback") backup_folders.sort! {|a,b| b <=> a} end end - # Get yesterday's folder to link against - backup_to_link = backup_folders.first[0] - # If this would link us to the same folder, don't do that. Try yesterday's instead. - if backup_to_link.eql? "dreamback." + Date.today.strftime("%Y%m%d") - backup_to_link = "dreamback." + (Date.today - 1).strftime("%Y%m%d") - end + unless backup_folders.empty? + # Get yesterday's folder to link against + backup_to_link = backup_folders.first[0] + # If this would link us to the same folder, don't do that. Try yesterday's instead. + if backup_to_link.eql? "dreamback." + Date.today.strftime("%Y%m%d") + backup_to_link = "dreamback." + (Date.today - 1).strftime("%Y%m%d") + end - # Delete any folders older than our limit - if Dreamback.settings[:days_to_keep] - folders_to_delete = rotate_daily(backup_folders) - elsif Dreamback.settings[:keep_time_machine] - folders_to_delete = rotate_time_machine(backup_folders)[:delete] - else - folders_to_delete = nil + # Delete any folders older than our limit + if Dreamback.settings[:days_to_keep] + folders_to_delete = rotate_daily(backup_folders) + elsif Dreamback.settings[:keep_time_machine] + folders_to_delete = rotate_time_machine(backup_folders)[:delete] + else + folders_to_delete = nil + end + rsync_delete(folders_to_delete) end - rsync_delete(folders_to_delete) end backup_to_link end \ No newline at end of file