lib/s3backup/manager.rb in s3backup-0.8.5 vs lib/s3backup/manager.rb in s3backup-0.8.6

- old
+ new

@@ -21,10 +21,11 @@ end def initialize(target,config) @target = target @resume = false @temporary = "/tmp" + @resume_counter = 0 set_config(config) end def set_config(config) if config["password"] and config["password"] != "" unless config["salt"] @@ -175,10 +176,11 @@ if @aes data = @aes.encrypt(data) end @target.post(key_name,data) i+=1 + @resume_counter += 1 end rescue EOFError end end File.unlink(tmp_file) @@ -219,23 +221,23 @@ Time.now.to_i.to_s + "_" + Process.pid.to_s + ".db"}) end end data = nil; GC.start - cnt=0 #前回と今回のファイル・ツリーを比較 tree_info.modify(old_tree) do |dir_info| - cnt+=1 S3log.debug("diff_info=#{dir_info[:name]}") #更新されたディレクトリをアップロード store_directory(dir_info[:name]) #前回のファイル・ツリー情報のうち、今回アップデートしたディレクトリ情報ファイル情報を更新 old_dir_map = old_tree.update_dir(dir_info) - if cnt != 0 and cnt % 10 == 0 + if @resume_counter >= 10 #更新したファイル・ツリー情報をアップロード(途中で失敗しても、resumeできるようにするため。) to_gz(old_tree.db_name,true) @target.post(target_db_name,File.read(old_tree.db_name + ".gz")) + @resume_counter = 0 end + GC.start end tree_info.remove(old_tree) do |dir_info| delete_direcory(dir_info[:name]) end #今回のファイル・ツリーをAWS S3に登録