GNU/Linux >> Znalost Linux >  >> Linux

Zachovat datum změny v adresářích/složkách pomocí Rsync?

Snažím se zálohovat vadný pevný disk a rsync by byl ideální kvůli funkcím, které má, jako je indikátor průběhu a schopnost zastavit a obnovit. Jediný problém, který mám, je ten, že zatímco atribut změny data souboru je zachován, adresáře získají nový atribut data. To způsobuje problémy, protože třídím mnoho souborů podle data, takže vím, co bylo přidáno nedávno. Je možné zachovat atribut změny data adresáře pomocí rsync:

sudo rsync -avhX --progress --info=progress2 /mnt/failing/ /mnt/new/

Volba -t (součástí -a) zachovává atributy souboru, ale nezmiňuje adresáře. Existuje nějaký zvláštní požadavek na vlastnictví / oprávnění oddílu /mnt/new, aby bylo možné úspěšně zachovat určité atributy?

Přijatá odpověď:

Čas poslední úpravy adresářů je zachován pomocí -a , ale můžete to
vidět pouze po dokončení rsync. Nepokouší se nastavit čas v adresářích, které jsou neustále aktualizovány novými soubory.

Můžete si to vyzkoušet sami. Vytvořte adresář a nastavte v něm datum na včerejšek, poté jej zkopírujte pomocí 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/

Dir d2/d1 má včerejší datum. Můžeme to přepsat a uvidíme, jestli rsync
věci opraví:

$ 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 ukazuje, že časové razítko je špatné na d2/d1 a opravuje to.


Linux
  1. Rsync s možností Delete, ale zachovat to, co je smazáno?

  2. Získejte datum poslední změny souboru v Linuxu

  3. Jak synchronizovat soubory / složky od určitého data dopředu?

  1. Sloučení složek s Mv?

  2. Jak nastavit datum pomocí formátu Epoch?

  3. Synchronizace adresářů v obou směrech pomocí Rsync?

  1. Zálohujte své soubory pomocí rsync

  2. linuxové sloučení složek:rsync?

  3. Synchronizujte dvě místní složky v bash