Проблема с резервным копированием с помощью tar с использованием результатов команды find

348
Valis

Поэтому я делаю этот Perl-скрипт для резервного копирования моей музыки. Он будет искать новую музыку, добавленную на мой диск с момента последнего резервного копирования.

Когда эта команда выполняется:

find ~/Music -type f -mtime -145 | xargs tar -cvf backup.tar 

Я получаю вывод, как это:

tar: Removing leading `/' from member names tar: /home/amonteiro/Music/UFOmammut/8: Cannot stat: No such file or directory tar: (2017)/08: Cannot stat: No such file or directory tar: -: Cannot stat: No such file or directory tar: PSYRCLE.ogg: Cannot stat: No such file or directory tar: /home/amonteiro/Music/UFOmammut/8: Cannot stat: No such file or directory tar: (2017)/01: Cannot stat: No such file or directory tar: -: Cannot stat: No such file or directory tar: BABEL.ogg: Cannot stat: No such file or directory tar: /home/amonteiro/Music/UFOmammut/8: Cannot stat: No such file or directory tar: (2017)/03: Cannot stat: No such file or directory tar: -: Cannot stat: No such file or directory tar: ZODIAC.ogg: Cannot stat: No such file or directory tar: /home/amonteiro/Music/UFOmammut/8: Cannot stat: No such file or directory tar: (2017)/02: Cannot stat: No such file or directory tar: -: Cannot stat: No such file or directory tar: WARSHEEP.ogg: Cannot stat: No such file or directory tar: /home/amonteiro/Music/UFOmammut/8: Cannot stat: No such file or directory tar: (2017)/06: Cannot stat: No such file or directory tar: -: Cannot stat: No such file or directory tar: CORE.ogg: Cannot stat: No such file or directory tar: /home/amonteiro/Music/UFOmammut/8: Cannot stat: No such file or directory tar: (2017)/04: Cannot stat: No such file or directory tar: -: Cannot stat: No such file or directory 

Я перепробовал все, что нашел, но безуспешно.

Есть мнения? Пожалуйста.

0
«Я перепробовал все, что нашел, но не повезло», что вы пробовали? Toto 6 лет назад 0
Некоторые варианты команды find и tar. Я попытался сохранить результаты поиска в файле ... Valis 6 лет назад 0

1 ответ на вопрос

0
Gilles Quenot

У вас есть пробелы в именах файлов, поэтому используйте null char:

find ~/Music -type f -mtime -145 -print0 | xargs -0 tar --null -cvf backup.tar 
Что делать, если я не хочу создавать файл tar. Вместо этого я хотел бы добавить в существующий файл tar. find ~ / Music -type f -mtime -145 -print0 | xargs -0 tar -rvf backup.tar - вывод: xargs: ПРЕДУПРЕЖДЕНИЕ: во входных данных появился символ NUL. Он не может быть пропущен в списке аргументов. Вы хотели использовать опцию --null? tar: Опции '- [0-7] [lmh]' не поддерживаются * this * tar. Для получения дополнительной информации попробуйте 'tar --help' или 'tar --usage'. Valis 6 лет назад 0
Я добавил скрипт в описание, чтобы вы могли проверить. Valis 6 лет назад 0
Да, используйте `tar --null` Gilles Quenot 6 лет назад 0

Похожие вопросы