ZIP застревает с файлом мусора

Мне обычно нравится, полностью исследуют мои проблемы прежде, чем иметь необходимость спросить сообщество. Но теперь я застреваю. Я использую следующую команду:

zip -ur zipfile.zip /volume1  

Для резервного копирования моего целого volume1 каталога в другой объем. Да, я знаю, что это не идеальный метод для резервных копий, но это, что мне нужно, или в основном в чем нуждается мой босс.

Когда я выполняю эту команду вручную, она работает отлично, но когда я выполняю ее через сценарий Python, я могу ясно видеть на целевой машине, что команда работает (проверенный через top) но файл мусора с некоторым нечетным именем создается и даже при том, что команда все еще работает, но ничего больше не происходит, никакой созданный zip-файл, нет ничто. Только выполнение команды и бесполезный созданный файл мусора.
Цель состоит в том, чтобы только скопировать некоторые пользовательские файлы к zip-файлу, мы не заботимся о структуре каталогов или чем-либо, что нам просто нужен пользователь определенные файлы, которые будут сохранены с общего volume1 на наш резервный жесткий диск.

Что, возможно, привело к этому?

1
задан 15 March 2017 в 16:10

1 ответ

Предложенное решение: Попытка архивировать каждый каталог отдельно, и наверняка, не пытаются рекурсивно архивировать все файлы под /

Подробный ответ:

страница справочника zip объясняет опцию, которую Вы использовали, например, -r средства:

-r
--recurse-paths
    Travel the directory structure recursively

, Когда Вы выполняете следующую команду:

zip -ur zipfile.zip / 

zip пытается сжать все файлы в системе (от корня / и ниже).

zip использует временный файл (в Вашем случае, Вы назвали его "файлом мусора"), который содержит данные, которые это собирает до сих пор. После того как операция zip завершила перемещения zip этот временный файл к законченному zip-файлу.

В Вашем случае, Вы запросили zip сжать все файлы в Вашей системе, которая включает также временный файл, созданный zip.

Это могло бы вызвать бесконечный цикл, поскольку zip могла бы попытаться добавить временный файл к себе.

кроме того, Вы могли бы попытаться добавить устройства под /dev папка и подобные файлы, которые я не уверен, что требуется архивировать их.

4
ответ дан 3 December 2019 в 06:54

Другие вопросы по тегам:

Похожие вопросы: