Мне обычно нравится, полностью исследуют мои проблемы прежде, чем иметь необходимость спросить сообщество. Но теперь я застреваю. Я использую следующую команду:
zip -ur zipfile.zip /volume1
Для резервного копирования моего целого volume1 каталога в другой объем. Да, я знаю, что это не идеальный метод для резервных копий, но это, что мне нужно, или в основном в чем нуждается мой босс.
Когда я выполняю эту команду вручную, она работает отлично, но когда я выполняю ее через сценарий Python, я могу ясно видеть на целевой машине, что команда работает (проверенный через top
) но файл мусора с некоторым нечетным именем создается и даже при том, что команда все еще работает, но ничего больше не происходит, никакой созданный zip-файл, нет ничто. Только выполнение команды и бесполезный созданный файл мусора.
Цель состоит в том, чтобы только скопировать некоторые пользовательские файлы к zip-файлу, мы не заботимся о структуре каталогов или чем-либо, что нам просто нужен пользователь определенные файлы, которые будут сохранены с общего volume1 на наш резервный жесткий диск.
Что, возможно, привело к этому?
Предложенное решение: Попытка архивировать каждый каталог отдельно, и наверняка, не пытаются рекурсивно архивировать все файлы под /
Подробный ответ:
страница справочника zip объясняет опцию, которую Вы использовали, например, -r
средства:
-r
--recurse-paths
Travel the directory structure recursively
, Когда Вы выполняете следующую команду:
zip -ur zipfile.zip /
zip пытается сжать все файлы в системе (от корня /
и ниже).
zip использует временный файл (в Вашем случае, Вы назвали его "файлом мусора"), который содержит данные, которые это собирает до сих пор. После того как операция zip завершила перемещения zip этот временный файл к законченному zip-файлу.
В Вашем случае, Вы запросили zip сжать все файлы в Вашей системе, которая включает также временный файл, созданный zip.
Это могло бы вызвать бесконечный цикл, поскольку zip могла бы попытаться добавить временный файл к себе.
кроме того, Вы могли бы попытаться добавить устройства под /dev
папка и подобные файлы, которые я не уверен, что требуется архивировать их.