Добавление --ignore-failed-read в tar вызывает ошибку" неизвестный модификатор функции".

Добавление --ignore-failed-read в tar вызывает ошибку" неизвестный модификатор функции".

30.10.2013 01:04:36 Просмотров 36 Источник

Я использую команду tar в UNIX для выполнения резервного копирования определенных каталогов. Однако некоторые каталоги содержат файлы / подкаталоги, для которых текущий пользователь не имеет никаких прав на чтение. В результате команда tar возвращает код выхода, отличный от 0.

Я наткнулся на следующий модификатор в man-страницах '-- ignore-failed-read', который подавляет код выхода не 0 при обнаружении файлов, которые он не может прочитать. Однако всякий раз, когда я пытаюсь использовать его, я получаю ошибку "неизвестный модификатор функции".

Может ли кто-нибудь помочь мне здесь?

моя команда tar выглядит примерно так:

tar --create --ignore-failed-read --file=test.tar my_dir
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/19677897/adding-ignore-failed-read-to-tar-causes-unknown-function-modifier-error#comment29225747_19677897
Это не очень хороший вопрос для stackoverflow. Он был помечен, так что, надеюсь,он будет перемещен на более подходящий для вас сайт SE.

Ответы - Добавление --ignore-failed-read в tar вызывает ошибку" неизвестный модификатор функции". / Adding --ignore-failed-read to tar causes "unknown function modifier" error

Является ответом!
Mateusz Grzejek

30.10.2013 01:34:56

Ваша команда, кажется, совершенно верна, и я не вижу никаких опечаток/ошибок. Чтобы быть абсолютно уверенным, я только что попробовал его на своей виртуальной машине, работающей под 32-битным Debian 7.1 (wheezy) со стоковым ядром 3.2.0.4. Как я и предполагал, архив был создан успешно (единственным изменением было, конечно, имя исходного каталога). Я также проверил версию моей смолы с

tar --version

что дало мне следующий результат:

tar (GNU tar) 1.26

Прежде всего, вы должны проверить эту информацию. Если вы получаете один и тот же (с возможной разницей в номере версии) вывод, это нормально. Если нет (или версия, которая кажется намного старше), возможно, что вы используете tar, который просто не поддерживает эту функцию.

Кроме того, вы можете проверить, действительно ли ваш tar поддерживает упомянутый флаг. Для этого наберите в консоли:

tar --help | grep ignore-failed-read

Вы должны увидеть что-то вроде этого:

--ignore-failed-read   do not exit with nonzero on unreadable files

Если вывод остается пустым, это означает, что эта версия tar вообще не знает этого флага.

Посмотрим, поможет ли что-нибудь из вышеперечисленного.

https://stackoverflow.com/questions/19677897/adding-ignore-failed-read-to-tar-causes-unknown-function-modifier-error/19678560#comment29229940_19678560
Спасибо за ответ, версия tar в системе, с которой я работаю, не поддерживает этот модификатор... К сожалению!
Cully

25.01.2019 01:40:22

Другой вариант, который может работать лучше в этом случае--warning=no-file-changed.

tar --warning=no-file-changed -czf backup.tgz dir1 dir2

--warningуправляет отображением предупреждающих сообщений. Вы можете добавить no-к сообщению, чтобы подавить его. Поэтому в этом случае no-file-changedподавляет предупреждение об изменении файла.

c. f. https://www.gnu.org/software/tar/manual/html_section/tar_27.html

Закрыть X