Muszę ponownie zainstalować jeden z serwerów ukazali, a jako środek ostrożności, I chce się przenieść /home
, /etc
, /opt
, i /Services
do serwera zapasowego.
Mam jednak problem: z powodu dużej ilości dowiązań symbolicznych wiele plików jest kopiowanych wielokrotnie.
Czy można scp
zignorować dowiązania symboliczne (a właściwie skopiować łącze jako łącze, a nie jako katalog lub plik)? Jeśli nie, czy jest inny sposób, aby to zrobić?
a
jest archiwum (zachowuje rzeczy),v
szczegółowym,h
czytelnym dla człowieka wyjściem,e
określ usługę, której chcesz użyć (w tym przypadku jest tossh
). Przeczytaj więcej tutajOkazało się, że metoda nie działa dla mnie, jednak znalazłem alternatywę, która nie działa na tej stronie ( www.docstore.mik.ua/orelly ).
rsync
W szczególności sekcja 7.5.3 książki „O'Reilly: SSH: The Secure Shell. The Definitive Guide” .
źródło
scp
lubrsync
.Używanie
tar
overssh
jako nadawcy i odbiorcy również działa:źródło
--one-file-system
i po stronie docelowej,p
aby zachować uprawnienia.Jednym z rozwiązań jest użycie rury osłonowej. Mam sytuację, w której otrzymałem kilka plików * .gz i dowiązania symboliczne wygenerowane przez jakieś oprogramowanie do linków do tych samych plików * .gz o nieco krótszej nazwie. Jeśli po prostu użyję scp, dowiązania symboliczne zostaną skopiowane jako zwykłe pliki i dadzą duplikaty. Wiem, że rsync może ignorować dowiązania symboliczne, ale moje pliki gz nie są kompresowane z opcjami synchronizowanymi, a synchronizacja kopiuje te pliki gz bardzo wolno. Więc po prostu używam następującego skryptu, aby skopiować pliki:
Opcja -f znajdzie tylko zwykłe pliki i zignoruje dowiązania symboliczne. Musisz wydać to polecenie na hoście źródłowym. Mam nadzieję, że może to pomóc niektórym użytkownikom w mojej sytuacji. Daj mi znać, jeśli coś przegapiłem.
źródło
Jedno liniowe rozwiązanie, które można uruchomić u klienta, aby skopiować folder z serwera za pomocą polecenia tar + ssh.
Uwaga: mkdir jest konieczny, jeśli nie ma zdalnego katalogu docelowego, polecenie po prostu skompresuje cały katalog główny zdalnego serwera i wyodrębni go do klienta.
źródło