Если бы вы делали инкрементное резервное копирование , вам нужно было бы предоставить 7-zip со списком файлов, измененных (с -i@fileList
), и вам нужно было бы как-то разработать этот список. В зеркале archive.org удаленного вопроса Инкрементное резервное копирование в автономном режиме с помощью thumbdrive вы можете найти командную строку Unix, использующую подписи md5 для создания fileList.
Операция обновления 7-zip позволяет создать вторичный архив с различиями (включая удаленные файлы), возникающими со времени основного / первичного архива. Это правильно называется дифференциальной резервной копией (как указано в самом вопросе).
Я нашел отличную статью на эту тему на WPCTips «Дифференциальное резервное копирование с 7-zip» (в архиве) . Они рекомендуют либо использовать программу с графическим интерфейсом (Toucan), либо использовать этот рецепт для командной строки:
7z u {base archive.7z} -u- -"up0q3r2x2y2z0w2!{differential.7z}" {folder to archive}
Это немного отличается от 7zr u -up0q3r2x2y2z1w2 {archive}.7z {path}
предложенного ArtemGr:
-u-
говорит, что основной архив не должен быть изменен
"-up0q3r2x2y2z0w2!{differential.7z}"
указывает целевой дифференциальный архив и действия, которые необходимо выполнить для каждого файла для каждого условия / состояния: добавить файлы, которые являются новыми или измененными в файловой системе, удалить файлы, которые есть только в 7zip-архиве, игнорировать остальные.
Обратите внимание, что "!" символ будет перехвачен, bash
если он не указан в кавычках.
На всякий случай, если вам интересно узнать о специфике этого загадочного p0q3r2x2y2z0w2
<state> | State condition
p | File exists in archive, but is not matched with wildcard. Exists, but is not matched
q | File exists in archive, but doesn't exist on disk.
r | File doesn't exist in archive, but exists on disk.
x | File in archive is newer than the file on disk.
y | File in archive is older than the file on disk.
z | File in archive is same as the file on disk
w | Can not be detected what file is newer (times are the same, sizes are different)
<action> | Description
0 | Ignore file (don't create item in new archive for this file)
1 | Copy file (copy from old archive to new)
2 | Compress (compress file from disk to new archive)
3 | Create Anti-item (item that will delete file or directory during extracting). This feature is supported only in 7z format.