Chtěl bych přenést soubory mezi dvěma vzdálenými hostiteli pomocí místního shellu, ale zdá se, že rsync nepodporuje synchronizaci, pokud jsou dvě vzdálené stanice zadány následovně:
$ rsync -vuar host1:/var/www host2:/var/www
The source and destination cannot both be remote.
Jaká další zástupná řešení/příkazy bych mohl použít k dosažení podobných výsledků?
Přijatá odpověď:
Jak jste zjistili, nemůžete použít rsync se vzdáleným zdrojem a vzdáleným cílem. Za předpokladu, že oba servery spolu nemohou mluvit přímo, je možné použít ssh k tunelování přes váš místní počítač.
Místo
rsync -vuar host1:/var/www host2:/var/www
můžete použít toto
ssh -R localhost:50000:host2:22 host1 'rsync -e "ssh -p 50000" -vuar /var/www localhost:/var/www'
V případě, že vás to zajímá, -R
volba nastaví zpětný kanál z portu 50000 na hostiteli1, který mapuje (přes váš místní počítač) na port 22 na hostiteli2. Neexistuje žádné přímé spojení mezi hostitelem1 a hostitelem2.
Převést absolutní symbolický odkaz na relativní symbolický odkaz pomocí jednoduchého příkazu Linux?
Kdo má druhý konec tohoto páru soketů Unix?