Если бы вы делали инкрементное резервное копирование, вам нужно было бы предоставить 7-zip со списком измененных файлов (с -i@fileList
), и вам нужно было бы как-то разработать этот список. На https://superuser.com/a/862394/476076 вы можете найти командную строку unix/cygwin, которая будет использовать сигнатуры md5 для создания fileList.
Операция обновления 7-zip позволяет создать вторичный архив с различиями (включая удаленные файлы), возникающими со времени основного / первичного архива. Это правильно называется дифференциальной резервной копией (как указано в самом вопросе).
Я нашел отличную статью на эту тему на WPCTips "Дифференциальное резервное копирование с 7-zip"(в архиве). Они рекомендуют либо использовать программу с графическим интерфейсом (Toucan), либо использовать этот рецепт для командной строки:
7z u {base archive.7z} {folder to archive} -u- -up0q3r2x2y2z0w2!{differential.7z}
Это немного отличается от 7zr u -up0q3r2x2y2z1w2 {archive}.7z {path}
предложенного ArtemGr:
-u-
говорит, что основной архив не должен быть изменен
-up0q3r2x2y2z0w2!{differential.7z}
указывает целевой дифференциальный архив и то, что нужно сделать для каждого файла для каждого условия / состояния: добавить файлы, которые являются новыми или измененными в файловой системе, удалить файлы, которые есть только в 7zip-архиве, игнорировать остальные.
На всякий случай, если вам интересно узнать о специфике этого загадочного 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.