Prędzej czy później pliki muszą trafić na serwer: build strony, zrzut bazy danych, konfiguracja napisana lokalnie. Nie potrzebujesz do tego serwera FTP: SSH daje ci już trzy dobre narzędzia. Wszystkie przykłady używają adresów dokumentacyjnych; zamień je na adresy swojego serwera.
Poznaj swoje dane połączenia
- Plan z dedykowanym IP:
root@203.0.113.10, port 22. - Plan NAT: host i twój osobisty port SSH są podane w panelu (na przykład port 20123). Wszystkie poniższe polecenia wymagają tego portu; zobacz, jak działa dostęp przez NAT.
scp: kopiowanie pliku lub katalogu
Wysłanie pliku:
scp backup.sql root@203.0.113.10:/root/
Pobranie pliku:
scp root@203.0.113.10:/var/log/nginx/access.log .
Cały katalog:
scp -r ./site root@203.0.113.10:/var/www/
Na planie NAT dodaj port z wielkim -P:
scp -P 20123 backup.sql root@your-nat-host:/root/
rsync: właściwe narzędzie do katalogów
rsync wysyła tylko różnice, pokazuje postęp i wznawia pracę po zerwaniu połączenia. Musi być zainstalowany po obu stronach (apt install -y rsync).
rsync -avzP ./site/ root@203.0.113.10:/var/www/site/
-azachowuje uprawnienia i znaczniki czasu,-vwypisuje pliki,-zkompresuje,-Ppokazuje postęp i pozwala wznawiać.
Z niestandardowym portem SSH:
rsync -avzP -e "ssh -p 20123" ./site/ root@your-nat-host:/var/www/site/
Aby cel był dokładnym lustrem (z usunięciem plików, które skasowałeś lokalnie), dodaj --delete, ale najpierw sprawdź, co się stanie:
rsync -avzP --delete --dry-run ./site/ root@203.0.113.10:/var/www/site/
Uważaj na ukośnik na końcu. ./site/ kopiuje zawartość site; ./site kopiuje sam katalog do miejsca docelowego. Przy --delete ta różnica decyduje, który katalog zostanie wyczyszczony.
SFTP: interaktywnie albo graficznie
Klient wiersza poleceń działa jak mały menedżer plików:
sftp -P 20123 root@your-nat-host
sftp> put backup.sql
sftp> get /etc/nginx/nginx.conf
sftp> exit
Wolisz interfejs graficzny? FileZilla, WinSCP czy Cyberduck łączą się z tymi samymi danymi: protokół SFTP, twój host, port 22 (albo twój port NAT), użytkownik root i twój klucz SSH albo hasło.
Szybciej z kluczami SSH
Wszystkie te narzędzia korzystają z SSH, więc klucz SSH eliminuje pytania o hasło i pozwala automatyzować transfery z crona. Jeśli jeszcze tego nie zrobiłeś: uwierzytelnianie kluczem SSH. Nowe serwery EQVPS przyjmują hasło roota z panelu, dopóki nie przejdziesz na klucze, co radzimy zrobić pierwszego dnia.
Duże transfery
Przy dziesiątkach gigabajtów rsync to jedyny rozsądny wybór: jeśli połączenie zostanie zerwane, uruchom to samo polecenie jeszcze raz, a będzie kontynuował od miejsca, w którym przerwał. Uruchamiaj go w tmux albo screen na maszynie wysyłającej, żeby zamknięcie laptopa go nie przerwało.
Komentarze
Brak komentarzy. Bądź pierwszy.