Я пытаюсь использовать следующее для tar любого файла, к которому добавлена дата:
#!/bin/bash
createDate=[0-9]{4}-[0-9]{2}-[0-9]{2}
for file in $HOME/test/*.log.$createDate ; do
log=$(basename $file)
find . -type f | tar -zcvf $log.tar $log
done
Это должно tar для любого файла с датой, добавленной после расширения журнала, например test.log.2020-01-01
, Тем не менее, я получаю сообщение об ошибке:
tar: *.log.[0-9]{4}-[0-9]{2}-[0-9]{2}: Cannot stat: No such file or directory
Итак, он читает этот шаблон буквально как строку. Мне нужно, чтобы он использовал шаблон для сопоставления любого файла с этим форматом даты после расширения журнала. В конечном итоге это войдет в раздел postrotate для файла конфигурации logrotate, но я должен быть уверен, что он сначала работает.