LINUX.ORG.RU

Вопрос по архивированию

 , ,


0

1

Добрый день!

Возникла необходимость архивировать файлы tar'ом. Архивировал так:

tar -cvzf 2018_log.tar.gz /opt/name/name2/logs/*2018*

У меня архивировались логи в указанной директории, в названии которых было «2018».

С этим было все ок.

Сейчас же надо архивировать файлы, название которых не содержит даты создания, возник вопрос: можно ли как то указать, что бы архивировались файлы созданные в определенный год? В гугле, к сожалению, толкового ничего не смог найти (возможно плохо искал).

Нашел только вариант с сортировкой через find, и после этого запустить архивирование, но не знаю насколько это будет корректно.

Спасибо!

При помощи touch создаешь два файла-ограничителя с начальной и конечной датой нужного периода. затем исп. find ... \( -newer begin-date.file -a -not -newer end-date.file \) ...

Надеюсь с синтаксисом не напутал, но если что идею ты понял

futurama ★★★ ()
Последнее исправление: futurama (всего исправлений: 1)

попробуй вариант который нашел. при архивации логи же не удаляются? проверишь потом tar tvf $archive_file, и решишь то либо не то. если не то, то рекурсия с оптимизацией параметров. можно ещё ls -1 | egrep -ve попробовать

etwrq ★★★★ ()

В общем получилось сделать, как советовал futurama, большое спасибо! Вышло это как-то так %):

find /path/folder/test/ -type f -maxdepth 1 \( -newer /path/folder/test/.date01 -a -not -newer /path/folder/test/.date02 \) -print0 | xargs -0 tar -cvzf archive2017.tar.gz

Вот только архивирует он вместе с директорией (/path/folder/test/filenames), можно как то указать, что бы только файлы в архив добавлял? Спасибо!

John_Dorian ()