Estou trabalhando em um script que copiará apenas arquivos criados no último dia de folga para outra pasta. O problema que estou tendo é o script que copio todos os arquivos no diretório de origem, em vez de apenas os arquivos com menos de um dia.
Isto é o que eu tenho:
find . -mtime -1 -exec cp --preserve --parents -a "{}" /somefolder \;
O código acima copia todos os arquivos no diretório de origem. Se eu remover todos os argumentos para 'cp', funcionará:
find . -mtime -1 -exec cp "{}" /somefolder \;
O código acima copia apenas os arquivos mais recentes como eu quero, mas preciso preservar os atributos usando os argumentos cp.
Eu também tentei variáveis e para loops pensando que talvez a opção -exec fosse o problema:
files="$(find -mtime -1)"
for file in "$files"
do
cp --parents --preserve -a file /somefolder
No entanto, o loop for acima resulta no mesmo problema, todos os arquivos são copiados. Se eu ecoar $ files, apenas os arquivos necessários serão mostrados.
Como posso fazer isso funcionar?
find /sourcefolder -type f -mtime -1 -exec cp -a "{}" /somefolder \;