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.)