Mam dostęp SSH do obu serwerów, jeden z nich jest pusty. Jak mogę przenieść katalog witryny ze starego serwera na nowy serwer za pośrednictwem połączenia SSH?
PS: Na obu serwerach jest uniksowy
Moim ulubionym jest rsync
. Jest wystarczająco inteligentny, aby kopiować tylko to, co należy skopiować (tj. Zmienić lub nowe).
rsync -avz /source/path user@desthost:/destination/path/
Zwróć uwagę na ostatnią /
na końcu, aby poprosić rsync o skopiowanie wewnątrz tej ścieżki (nie nad nią).
rsync
dba o zarządzanie połączeniem ssh za Ciebie. W avz
(typowo) Opcje zapytać rsync
korzystać z archiwum tryb (TAR), aby skopiować rekurencyjnie i zachować jak najwięcej wartości daty i użytkowników. v
Opcja jest gadatliwy , aby pokazać, co się obecnie dzieje. z
Opcja zip (kompres) przeniesienie na miejmy nadzieję zaoszczędzić czas i przepustowości.
rsync
jest bardzo wydajny i jest używany przez większość profesjonalistów, jednak możesz go najpierw przetestować przy użyciu nieocenionych danych, aby upewnić się, że ścieżka i opcje odpowiadają wymaganiom.
Jeśli potrzebujesz użyć rsync przez SSH na niestandardowym porcie, takim jak 2222, możesz użyć następującego polecenia ( zobacz ten artykuł ):
rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/
Szukasz fajki smołowej .
źródło
Napisałem dobrze działającą odpowiedź w innym pytaniu. Używa SSH-Agent do przeniesienia zrzutu mysql: Najszybszy sposób przeniesienia wielu baz danych na nowy serwer
Połącz to z odpowiedzią jscott
źródło