Sto cercando di eseguire il backup di un disco rigido guasto e rsync sarebbe l'ideale grazie alle funzionalità che ha come l'indicatore di avanzamento e la possibilità di interrompere e riprendere. L'unico problema che sto riscontrando è che mentre l'attributo modificato della data del file viene preservato, le directory ottengono un nuovo attributo della data. Ciò causa problemi poiché ordino molti file per data, quindi so cosa è stato aggiunto più di recente. È possibile preservare l'attributo modificato della data della directory con rsync:
sudo rsync -avhX --progress --info=progress2 /mnt/failing/ /mnt/new/
L'opzione -t (inclusa con -a) conserva gli attributi del file ma non menziona le directory. C'è qualche requisito speciale per la proprietà/permessi della partizione /mnt/new per preservare con successo determinati attributi?
Risposta accettata:
L'ora dell'ultima modifica delle directory è conservata da -a
, ma puoi
vederlo solo al termine della rsync. Non tenta di impostare l'ora sulle directory che vengono costantemente aggiornate con nuovi file.
Puoi testarlo tu stesso. Crea una directory e imposta la data su ieri, quindi copiala con rsync:
$ mkdir d1 d2
$ ls -ld d1
drwxr-xr-x 2 40 Nov 4 14:41 d1
$ touch -d 'yesterday' d1
$ ls -ld d1
drwxr-xr-x 2 40 Nov 3 14:41 d1
$ rsync -i -avR d1 d2
$ ls -ld d1 d2/d1/
drwxr-xr-x 2 40 Nov 3 14:41 d1
drwxr-xr-x 2 40 Nov 3 14:41 d2/d1/
La dir d2/d1 ha la data di ieri. Possiamo sovrascriverlo e vedere se rsync
risolve le cose:
$ touch d2/d1
$ ls -ld d1 d2/d1/
drwxr-xr-x 2 40 Nov 3 14:41 d1
drwxr-xr-x 2 40 Nov 4 14:42 d2/d1/
$ rsync -i -avR d1 d2
.d..t...... d1/
$ ls -ld d1 d2/d1/
drwxr-xr-x 2 40 Nov 3 14:41 d1
drwxr-xr-x 2 40 Nov 3 14:41 d2/d1/
rsync -i
mostra che il timestamp è errato su d2/d1 e lo risolve.