tar: убить сообщение об ошибке: 'tar: Удаление начального `/' из имен членов '


16

Я запускаю это из cronjob:

tar -czvf /var/backups/svn.tgz /var/svn/*

Это генерирует это на stderr:

tar: Removing leading `/' from member names

Я хотел бы избежать этого, потому что это не настоящая ошибка (для меня!). Я хочу на stderr только то, о чем мне стоит беспокоиться?

Как я могу убить это сообщение?

У меня такое ощущение, что это вопрос использования опции tar -C, но я не уверен и не знаю как.

Спасибо за помощь,
Дэн


Ответы:


12

ваши варианты:

-P, --absolute-names : don't strip leading `/'s from file names

или

-C /

(и относительный путь для вещей, чтобы войти в смолу) ... зависит от того, что вы хотите.

Пример использования создания архива tar с использованием опции -C (таким образом удаляя наклонную черту):

tar -czf /tmp/archive.tgz -C /etc .

2
Я не хочу -P. Я хочу -C, но я не могу заставить его работать.
дан

5
Я нашел это: деготь -czvf /var/backups/svn.tgz -C / вар / SVN /
дан

Заимствование предупреждения о -P из другого потока: архивы с абсолютным местоположением представляют угрозу безопасности. Злоумышленники могут использовать такие архивы, чтобы обманным путем заставить пользователей устанавливать файлы в критических системных местах.
Режим работы

Архивы с абсолютным местоположением представляют угрозу безопасности. Злоумышленники могут использовать такие архивы, чтобы обманным путем заставить пользователей устанавливать файлы в критических системных местах.
AB

0

Ты можешь написать

# ( tar czvf tar.file /path 2>&1 ) >log.file

Сообщение будет написано в log.file

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.