diff options
Diffstat (limited to 'rdiff-backup/src/highlevel.py')
-rw-r--r-- | rdiff-backup/src/highlevel.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/rdiff-backup/src/highlevel.py b/rdiff-backup/src/highlevel.py index cc1335c..a9e5ce2 100644 --- a/rdiff-backup/src/highlevel.py +++ b/rdiff-backup/src/highlevel.py @@ -262,6 +262,7 @@ class HLDestinationStruct: cls.check_skip_error(finalizer.Finish, dsrp) except: cls.handle_last_error(dsrp, finalizer, ITR) if Globals.preserve_hardlinks: Hardlink.final_writedata() + cls.write_statistics(ITR) SaveState.checkpoint_remove() def patch_increment_and_finalize(cls, dest_rpath, diffs, inc_rpath): @@ -291,6 +292,7 @@ class HLDestinationStruct: cls.check_skip_error(finalizer.Finish, dsrp) except: cls.handle_last_error(dsrp, finalizer, ITR) if Globals.preserve_hardlinks: Hardlink.final_writedata() + cls.write_statistics(ITR) SaveState.checkpoint_remove() def check_skip_error(cls, thunk, dsrp): @@ -321,4 +323,19 @@ class HLDestinationStruct: SaveState.touch_last_file_definitive() raise + def write_statistics(cls, ITR): + """Write session statistics to file, log""" + stat_inc = Inc.get_inc(Globals.rbdir.append("session_statistics"), + Time.curtime, "data") + ITR.StartTime = Time.curtime + ITR.EndTime = time.time() + if Globals.preserve_hardlinks and Hardlink.final_inc: + # include hardlink data in size of increments + ITR.IncrementFileSize += Hardlink.final_inc.getsize() + ITR.write_stats_to_rp(stat_inc) + if Globals.print_statistics: + message = ITR.get_stats_logstring("Session statistics") + Log.log_to_file(message) + Globals.client_conn.sys.stdout.write(message) + MakeClass(HLDestinationStruct) |