Назад | Перейти на главную страницу

Используйте подстановочный знак в tar с параметром -T

У меня есть сценарий резервного копирования с таким синтаксисом "tar -czvf backup.tar.gz -T filelist". В этом списке файлов я перечисляю папку для резервного копирования, но мне также нужно сделать резервную копию каждого файла с заданным расширением, например "* .jpeg "

Имя файла меняется каждый день, поэтому мне нужно использовать подстановочный знак, но он не принимается в списке файлов.

Есть ли обходной путь, чтобы заставить эту работу работать?

Спасибо !

Самое простое решение, которое я нашел: tar -czvf backup.tar.gz $(cat filelist)

Вы пробовали использовать --wildcards?

 tar -xf foo.tar -v --wildcards '*.c'

http://www.gnu.org/s/tar/manual/html_section/wildcards.html

Создайте filelist.template, который содержит статические папки для постоянного резервного копирования, а затем каждый раз копируйте его в список файлов и добавляйте все .jpeg файлы. Что-то вроде:

cp filelist.template filelist
ls *.jpeg >> filelist
tar -czvf backup.tar.gz -T filelist

вы также можете использовать find команда вместо ls если тебе надо *.jpeg из разных мест.