Как я могу надежно подсчитать количество приращений в каталоге rdiff-backup?
rdiff-backup
Утилита используется для создания инкрементного зеркала дерева каталогов. Я хотел бы узнать количество сохраненных приращений и сохранить только это число в значение переменной. Я делаю это из скрипта bash, и мне нужно иметь доступ к коду возврата rdiff-backup
Команда, когда она завершается.
Команду можно запустить для вывода некоторой статистики:
rdiff-backup --print-statistics $source_dir $mirror_dir
Который дает:
--------------[ Session statistics ]--------------
StartTime 1478018786.00 (Tue Nov 1 16:46:26 2016)
EndTime 1478018802.13 (Tue Nov 1 16:46:42 2016)
ElapsedTime 16.13 (16.13 seconds)
SourceFiles 41812
SourceFileSize 16462964041 (15.3 GB)
MirrorFiles 41812
MirrorFileSize 16462964041 (15.3 GB)
NewFiles 1
NewFileSize 0 (0 bytes)
DeletedFiles 1
DeletedFileSize 0 (0 bytes)
ChangedFiles 2
ChangedSourceSize 0 (0 bytes)
ChangedMirrorSize 0 (0 bytes)
IncrementFiles 4
IncrementFileSize 64 (64 bytes)
TotalDestinationSizeChange 64 (64 bytes)
Errors 0
--------------------------------------------------
Эту же информацию можно найти в файле статистики с метками времени в специальном каталоге rdiff-backup-data в каталоге зеркала со следующим именем файла в качестве примера:
/mirror_dir/rdiff-backup-data/session_statistics.2016-11-01T16:46:26Z.data
В качестве альтернативы приращения могут быть перечислены в другом формате с помощью отдельной команды:
rdiff-backup --list-increments mirror_dir
Какие выводы:
Found 43 increments:
increments.2016-10-27T20:57:01+01:00.dir Thu Oct 27 20:57:01 2016
increments.2016-10-27T23:57:01+01:00.dir Thu Oct 27 23:57:01 2016
increments.2016-10-28T02:57:01+01:00.dir Fri Oct 28 02:57:01 2016
increments.2016-10-28T05:57:01+01:00.dir Fri Oct 28 05:57:01 2016
increments.2016-10-28T08:57:01+01:00.dir Fri Oct 28 08:57:01 2016
increments.2016-10-28T11:57:01+01:00.dir Fri Oct 28 11:57:01 2016
...
increments.2016-11-01T16:00:14Z.dir Tue Nov 1 16:00:14 2016
Current mirror: Tue Nov 1 16:46:26 2016
Я не могу понять, должен ли я найти последний файл статистики сеанса и найти его для значения IncrementFiles
или перенаправить вывод исходной команды с помощью --print-statistics
или отдельно отфильтровывать число из первой строки --list-increments
версия более разумная.