Você pode usar o find command para selecionar arquivos com base no tempo de modificação deles .
cd /path/to/directory
find -type f -newermt 2007-01-01 ! -newermt 2008-01-01
Observe que isso seleciona arquivos criados em 2007 em seu fuso horário, e os arquivos com registro de data e hora exatamente à meia-noite do ano são agrupados com o ano anterior.
Se a sua versão do CentOS tem uma versão antiga de find que não suporta -newermt , você pode usar -newer com arquivos fencepost.
touch -d 2007-01-01 /tmp/2007-01-01
touch -d 2008-01-01 /tmp/2008-01-01
find -type f -newer /tmp/2007-01-01 ! -newer /tmp/2008-01-01
Supondo que os nomes dos arquivos não contenham novas linhas, você pode canalizar a listagem resultante como entrada para tar com a opção -T ( -T - significa ler nomes de arquivos da entrada padrão).
cd /path/to/directory
find -type f -newermt 2007-01-01 ! -newermt 2008-01-01 |
tar -cjf /elsewhere/2007.tar.bz2 -T -
(Considere tar -cJf /elsewhere/2007.tar.xz , em vez disso, xz é mais rápido para descompactar e compactar melhor, ao custo de exigir mais memória ao compactar.)