Инкрементное резервное копирование с помощью 7zip

я гуглил и искал, но не могу найти команду, которую 7zip утилита командной строки использует для создания инкрементных резервных копий. Кто-нибудь может поделиться командой ?

спасибо

кстати, я нашел эту ссылку: http://wmug.co.uk/wmug/b/sean/archive/2009/03/20/powershell-amp-7zip-incremental-backup-solution.aspx . Но это, кажется, для дифференциальных резервных копий, даже если он говорит инкрементный.

30
задан gyaani_guy
18.02.2023 15:44 Количество просмотров материала 2714
Распечатать страницу

3 ответа

должно быть просто, используйте это для создания и постепенного обновления архива:

7zr u -up0q3r2x2y2z1w2 {archive}.7z {path}

на этой странице предлагает ссылку для опций обновления.

они переводятся следующим образом:

p0 - если" файл существует в архиве, но не совпадает с подстановочным знаком", то удалите файл из архива.

q3 - Если "файл есть в архиве, но не существует на диске", то удалите файл из архива и удалите его из файловой системы при извлечении.

r2 - Если "файл не существует в архиве, но существует на диске", то упакуйте файл в архив.

x2 - если "файл в архиве новее, чем файл на диске", то упакуйте старый файл в архив.

y2 - если "файл в архиве старше, чем файл на диске", то упаковать новый файл в архив.

z1 - если "файл в архиве такой же, как файл на диске" затем повторно упакованную версию файла.

w2 - если размер файла отличается, то упакуйте измененный файл в архив.

8
отвечен ArtemGr 2023-02-19 23:32

Если вам где делать инкрементное резервное копирование, вам нужно будет предоставить 7-zip со списком файлов, измененных (с -i@fileList), и нужно как-то разработать такой список. At https://superuser.com/a/862394/476076 вы можете найти командную строку unix/cygwin, которая будет использовать подписи md5 для создания списка файлов.

7-операция обновления zip позволяет создать вторичный архив с различиями (в том числе удаленными файлами), произошедшими с тех пор базовый/основной архив. Это правильно названо дифференциальной резервной копией (как указано в самом вопросе).

Я нашел отличную статью на эту тему в WPCTips "дифференциальные резервные копии с 7-zip" (архив). Они рекомендуют либо с помощью программы GUI (Тукан), или используйте этот рецепт для командной строки:

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. 
4
отвечен Javier 2023-02-20 01:49

вы можете легко сделать инкрементное резервное копирование, изменив направление во времени. Т. е. вы всегда держать самую последнюю резервную копию, а полную копию и сохранить дифференциальных файлов в прошлое.

# создать разницу шаг в прошлое

7z u {базовый архив.7z} {папка для архива} - mx=9-u - - up1q1r3x1y1z0w1!{уменьшение.7z}

# обновить архив до последних файлов

7z u {базовый архив.7z} {папка для архива} - mx=9-up0q0x2

базы Архив всегда содержит последнюю версию и с помощью применения "декрементов" шаг за шагом вы можете воссоздать более старые версии. С немного сценариев вы можете применить правильную нумерацию к декрементных файлов.

2
отвечен iligid 2023-02-20 04:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх