GNU/Linux >> Znalost Linux >  >> Linux

rsync a symbolické odkazy

  1. "Kopírovat symbolické odkazy jako symbolické odkazy" znamená přesně to, co říká:Pokud rsync uvidí symbolický odkaz ve zdrojovém adresáři, vytvoří identický symbolický odkaz v cíli. Nic víc.

    (O pár řádků níže na stránce manuálu, jiné možnost, --copy-links , popisuje opačné chování (vždy kopírování dat), které jste označili za nežádoucí.)

    Viz také část „Symbolické odkazy“:

    Pokud --links je zadáno, pak se symbolické odkazy znovu vytvoří se stejným cílem v cíli.

  2. Není to chování, které chcete, protože si špatně vykládáte to, co --links ano, a proto žádá o nesprávné chování (viz odpověď č. 1).

  3. Ve výchozím nastavení zkopíruje cíl přesně

    To znamená, že pokud odkaz směřoval na absolutní cestu (např. /home/me/projects ), bude i nadále ukazovat na stejnou cestu; to se nezlomí , bude pouze nadále ukazovat na soubor ve vašem domovském adresáři, nikoli na soubor ve vaší záloze.

    Mezitím, pokud odkaz ukazoval na relativní cestu (např. ../../projects ), bude také pokračujte v ukazování na stejnou cestu, ale protože je relativní k umístění symbolického odkazu, symbolický odkaz ve vaší záloze bude také ukazovat na soubor ve vaší záloze.

    Bohužel se zdá, že neexistuje žádná možnost přeložit absolutní symbolické odkazy pro jejich novou základnu (pouze možnost je úplně rozbít). Abyste se vyhnuli problémům, měli byste změnit stávající symbolické odkazy na relativní (což je obecně dobrý nápad pro odkazy v $HOME).


@grawity má skvělou odpověď, ale zde je snímek obrazovky s některými relevantními informacemi z dokumentace. Zde je přesné znění -l a -L například možnosti, které se zdají být nejrelevantnějšími:

Zdroj:https://linux.die.net/man/1/rsync nebo man rsync manuálové stránky v systému Linux.

Všimněte si také, že -a (--archive ) možnost také obsahuje -l možnost v něm, což je úžasné, protože opravdu rád používám -l možnost zachovat mé symbolické odkazy ze zdroje jako symbolické odkazy v cíli. Z manuálových stránek:

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

Poznámka pro můj oblíbený rsync příkazy a instrukce, včetně kopírování, zrcadlení, zobrazování celkového průběhu...

...provádění suchých běhů, protokolování stderr a stdout do (samostatných) souborů, zobrazování statistik pomocí souboru se zahrnutím cesty a soubor pro vyloučení , atd., viz mou úplnou odpověď zde ve 2. sekci s názvem "2. rsync Nástroj příkazového řádku (Linux, Windows s Cygwin) ":https://superuser.com/a/1464264/425838


Linux
  1. Existuje způsob, jak zkontrolovat, zda existují symbolické odkazy směřující do adresáře?

  2. Git a pevné odkazy

  3. Proměnné prostředí v symbolických odkazech

  1. Chování cd/bash na symbolických odkazech

  2. Lomítka a příkaz rsync

  3. Příliš mnoho úrovní symbolických odkazů

  1. Poškozené symbolické odkazy /vmlinuz a /initrd.img po odinstalaci jádra

  2. Použití příznaku archivu rsync bez kopírování symbolických odkazů

  3. Problémy s příkazy Rsync, oprávnění vlastníka a skupiny se nemění