Sto lavorando a uno script che copierà SOLO i file che sono stati creati nell'ultimo giorno libero in un'altra cartella. Il problema che sto riscontrando è lo script in cui ho copiato tutti i file nella directory di origine anziché solo i file di meno di un giorno fa.
Questo è quello che ho:
find . -mtime -1 -exec cp --preserve --parents -a "{}" /somefolder \;
Il codice sopra copia tutti i file nella directory di origine. Se rimuovo tutti gli argomenti per 'cp', allora funziona:
find . -mtime -1 -exec cp "{}" /somefolder \;
Il codice sopra copia solo i file più recenti che voglio, ma devo preservare gli attributi usando gli argomenti cp.
Ho anche provato le variabili e per i loop pensando che forse il problema era l'opzione -exec:
files="$(find -mtime -1)"
for file in "$files"
do
cp --parents --preserve -a file /somefolder
Tuttavia, quanto sopra per il loop provoca lo stesso problema, tutti i file vengono copiati. Se echo $ files vengono mostrati solo i file di cui ho bisogno.
Come posso farlo funzionare?
find /sourcefolder -type f -mtime -1 -exec cp -a "{}" /somefolder \;