GNU/Linux >> Znalost Linux >  >> Linux

Rsync:Jak přemístit absolutní symbolické odkazy?

Zabýval jsem se manuálovou stránkou rsync a také několika souvisejícími otázkami zde na serverfault. Hrál jsem s možnostmi -R a -L a -l, ale bez úspěchu.

Zde je otázka:při odesílání adresáře z místního do vzdáleného existuje možnost (nebo kombinace možností), která přemístí symbolické odkazy vzhledem k místnímu adresáři tak, aby se staly relativními k cílovému adresáři na vzdáleném počítači?

Zde je minimální příklad toho, co chci odeslat:

místní adresář: /home/bob/foo

/home/bob/foo/a --> /home/bob/foo/bar
/home/bob/foo/bar

a tady je, jak bych chtěl, aby se to zhmotnilo v

vzdálený adresář: /u/apps/foo

/u/apps/foo/a --> /u/apps/foo/bar
/u/apps/foo/bar

Například rsync -az /home/bob/foo/ remote:/u/apps/foo/ úplně to nedělá; skončíme s:

/u/apps/foo/a --> /home/bob/foo/bar
/u/apps/foo/bar

Zda /home/bob/foo/bar existuje nebo není na vzdáleném počítači je irelevantní; v obou případech výsledek rozhodně není to, co potřebuji.

Přijatá odpověď:

Pokud jsou odkazy na absolutní cesty, ne, neexistuje způsob, jak to obejít. Můžete to obejít tak, že symbolické odkazy nastavíte jako relativní:

/home/bob/foo/a --> ./bar
/home/bob/foo/bar

ale to se může ukázat jako obtížné v závislosti na tom, jak tyto odkazy generujete a kolik jich je.


Linux
  1. Jak používat příkaz Linux Rsync (vzdálená synchronizace).

  2. Jak připojit vzdálené sdílení Windows v systému Linux

  3. Jak přidat vzdálené připojení MySQL v linuxu?

  1. Jak přenášet soubory v Linuxu pomocí SCP a Rsync

  2. Jak spustit proces Rsync na pozadí

  3. Jak vyloučím absolutní cesty pro tar?

  1. Jak selektivně umlčet Rsync?

  2. Jak RSYNC jeden soubor?

  3. Jak používat rsync z Windows PC na vzdálený Linux server?