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

16

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

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

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

tar: Removing leading `/' from member names

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

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

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

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

Дан
источник
См. Также tar: Удаление ведущих символов `/ 'из имен членов
Восстановите Монику - М. Шредер,

Ответы:

12

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

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

или

-C /

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

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

tar -czf /tmp/archive.tgz -C /etc .
iiegn
источник
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

Andreas
источник