GNU/Linux >> Znalost Linux >  >> Linux

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

Existuje mnohem více vlastností k rsync, než zmiňuje předchozí odpověď. Měli byste se na ně podívat sami:

man rsync

Ale pro váš problém bych navrhl:

rsync -a --delete X Y

Tímto způsobem přijímač (Y) smaže jakýkoli soubor, který má a který není v X. Ujistěte se, že to děláte správně. Nesprávné použití, protože root může snadno zabít váš systém... :)


Podívejte se na rsync(1). Jeho účelem je dělat téměř přesně to, co chcete.

rsync -av X Y

Podporuje vzdálené kopírování prostřednictvím vlastního protokolu nebo ssh, ale lze jej použít i lokálně.

V závislosti na přesném chování, které chcete, můžete také předat --update volba. To řekne rsync, aby nepřepisoval soubory, které již v cíli existují a jsou novější než ty ve zdroji.

Pokud chcete odstranit další soubory (tj. soubory, které existují v Y, ale ne v X), můžete přidat --delete možnost.


Linux
  1. Jak vypsat seznam složek pomocí příkazů bash?

  2. Porovnání vlastníků a oprávnění obsahu dvou složek?

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

  1. Jak spustit příkazy bash Linuxu ve skriptu PERL?

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

  3. Linux – Jak synchronizovat dvě složky pomocí nástrojů příkazového řádku?

  1. Rsync Neznámá možnost ze spuštění skriptu Bash?

  2. Příkaz nebyl nalezen v Zsh, ale nalezen v Bash?

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