Я написал небольшой скрипт, который копирует и сжимает список каталогов + файлов.
Сценарий, по-видимому, успешно выполняется, поскольку после запуска сценария создается пригодный для использования файл .tar.gz.
Тем не менее, я получаю это надоедливое сообщение после завершения скрипта:
tar: выход с состоянием ошибки из-за предыдущих ошибок
Я не вижу никаких сообщений об ошибках во время работы скрипта, и, как я уже сказал, созданный файл может быть распакован без предупреждений / ошибок. Поскольку я использую это как часть своей резервной копии, я хочу убедиться, что я не игнорирую что-то серьезное.
Каковы возможные причины появления этого сообщения об ошибке / предупреждения - и могу ли я смело его игнорировать? Если я не могу проигнорировать это, каковы шаги, чтобы диагностировать и устранить ошибку?
Я работаю на Ubuntu 10.0.4
проблема в аргументе,
f
аргумент принимает следующий как имя файла, поэтому он должен быть последним из аргументаили же
то же самое и не принимать ошибку.
источник
Иногда при резервном копировании файлов, которые могут измениться во время резервного копирования, таких как файлы журналов, вам может быть полезен параметр tar '--ignore-failed-read' (я работаю в Debian Linux, не уверен, что он не относится к gnu tar).
Стандартный вывод и ошибка могут быть перенаправлены в 2 разных файла что-то вроде:
Я считаю, что это в целом безопасно, но, пожалуйста, будьте осторожны, поскольку tar не остановится ...
источник
У меня возникла та же проблема, и ни один из приведенных выше ответов не помог мне. Однако я обнаружил, что работает следующая команда:
tar -cpzf /backups/fullbackup.tar.gz --exclude=backups --exclude=proc --exclude=tmp --exclude=mnt --exclude=sys --exclude=dev --exclude=run /
Ошибки, на которые ссылались в,
tar: Exiting with failure status due to previous errors
могут быть определены путем отключения опции -v. После просмотра ошибки пришли из каталогов, как/run
и/sys
.Исключая эти каталоги, он работает просто отлично. Надеюсь, что это поможет любому с подобной проблемой.
источник
У меня такая же проблема. Все, что я сделал, это удалил черту ("-") из команды.
Вместо того, чтобы печатать как
попробуйте ввести это как
Я не знаю, почему приборная панель вызывала проблемы в моем случае, но по крайней мере это работало.
источник
-f
должен бытьoutput.tar.gz
и не должно бытьz
между. Без повторного упорядочения вариантов было бы правильно быть:tar -cvf output.tar.gz -z folder/
. Старый стиль предполагает, что все параметры находятся в одном месте, и все аргументы следуют.Вы неправильно поняли предыдущий ответ. Проблема не в том
-
, а гдеf
в вашем списке аргументов.Постараюсь создать архив с именем "z", так как это текст после
f
. Сообщение об ошибке вызвано тем, что tar не может найти "target.gz" для добавления в архив "z".Будет правильно создавать target.tgz и добавлять в него файлы. Это потому, что target.tgz является первым текстом после
f
аргумента.источник
Обычно вы можете игнорировать это сообщение. Если есть какие-либо изменения (такие как удаление / создание / изменение файлов) в базовом дереве каталогов во время создания tar, он выдаст это сообщение. Также, если есть специальные файлы, такие как узлы устройства, fifos и т. Д., Они вызовут это предупреждение.
Вы уверены, что не видите никаких файлов преступников? Попробуй с
tar cvfz yourtarball.tgz /your/path
источник
У меня была похожая проблема, не связанная с файлом, который я получил. Оказывается, у меня не было разрешения на запись файлов в архив, принадлежащий root. Использование sudo исправило это.
источник
источник