Sicheres Backup mit rsync, SSH und LUKS [Kielux 2017]
Spisu treści:
Jeśli chodzi o przesyłanie plików między systemami w sieci, użytkownicy systemów Linux i Unix mają do dyspozycji wiele narzędzi.
Najpopularniejsze protokoły przesyłania danych to SSH i FTP. Chociaż FTP jest bardzo popularny, zawsze preferuj korzystanie z SSH, ponieważ jest to najbezpieczniejszy sposób przesyłania plików.
Istnieją wyspecjalizowane narzędzia do przesyłania plików przez SSH, takie jak
scp
i
sftp
ale żadne z nich nie ma wszystkich funkcji zapewnianych przez
rsync
.
rsync
może być używany do tworzenia kopii lustrzanych danych, przyrostowych kopii zapasowych, kopiowania plików między systemami i tak dalej.
W tym samouczku wyjaśnimy, jak skopiować pliki za pomocą
rsync
przez SSH.
Wymagania
-
Narzędzie
rsyncmusi być zainstalowane zarówno w systemie docelowym, jak i źródłowym. Jeśli nie jest zainstalowany, możesz go zainstalować za pomocą menedżera pakietów swojej dystrybucji:Ubuntu i Debian:
sudo apt install rsyncCentOS i Fedora:
sudo yum install rsyncDostęp SSH do komputera zdalnego.
Użytkownik uruchamiający komendę
rsynci zdalny użytkownik SSH muszą mieć odpowiednie uprawnienia do odczytu i zapisu plików.
Używanie
rsync
do przesyłania plików przez SSH
rsync
umożliwia przesyłanie plików i katalogów przez SSH zi na zdalne serwery.
Ogólna składnia przesyłania plików za pomocą
rsync
jest następująca:
Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…
Gdzie
SRC
jest katalogiem źródłowym,
DEST
to katalog docelowy
USER
to zdalna nazwa użytkownika SSH, a
HOST
to zdalny host SSH lub adres IP.
Nowsze wersje rsync są skonfigurowane do używania SSH jako domyślnej powłoki zdalnej, dzięki czemu można pominąć opcję
-e ssh
.
Na przykład, aby przenieść pojedynczy plik
/opt/file.zip
z systemu lokalnego do katalogu
/var/www/
w systemie zdalnym o
12.12.12.12
IP
12.12.12.12
, należy uruchomić:
rsync -a /opt/file.zip [email protected]:/var/www/
Opcja
-a
oznacza tryb archiwizacji, który synchronizuje katalogi rekurencyjnie, przenosi urządzenia specjalne i blokowe, zachowuje łącza symboliczne, czasy modyfikacji, grupę, własność i uprawnienia.
Jeśli plik istnieje na zdalnym serwerze, zostanie zastąpiony. Jeśli chcesz zapisać plik pod inną nazwą, podaj nową nazwę:
rsync -a /opt/file.zip [email protected]:/var/www/file2.zip
Aby przenieść dane z komputera zdalnego na komputer lokalny, użyj lokalizacji zdalnej jako źródła, a lokalizacji lokalnej jako miejsca docelowego:
rsync -a [email protected]:/var/www/file.zip /opt/
Przesyłanie katalogów za pomocą
rsync
przez SSH jest takie samo jak przesyłanie plików.
Ważne jest, aby wiedzieć, że
rsync
zapewnia odmienne traktowanie katalogów źródłowych za pomocą ukośnika
/
. Gdy katalog źródłowy ma ukośnik końcowy,
rsync
skopiuje tylko zawartość katalogu źródłowego do katalogu docelowego. Po pominięciu końcowego ukośnika katalog źródłowy zostanie skopiowany do katalogu docelowego.
Na przykład, aby przenieść lokalny katalog
/opt/website/images/
do katalogu
/var/www/images/
na zdalnym komputerze, wpisz:
rsync -a /home/linuxize/images/ [email protected]:/var/www/images/
Użyj opcji
--delete
, jeśli chcesz zsynchronizować katalog lokalny i zdalny. Zachowaj ostrożność podczas korzystania z tej opcji, ponieważ spowoduje to usunięcie plików w katalogu docelowym, jeśli nie istnieją one w katalogu źródłowym.
rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/
Jeśli SSH na zdalnym hoście nasłuchuje na porcie innym niż domyślny
22
, określ port za pomocą opcji
-e
. Na przykład, jeśli SSH nasłuchuje na porcie
3322
,
3322
:
rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/
Podczas przesyłania dużych ilości danych zaleca się uruchomienie komendy
rsync
w sesji ekranowej lub skorzystanie z opcji
-P
, która nakazuje
rsync
pokazać pasek postępu podczas przesyłania i zachować częściowo przesłane pliki:
rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/
Wniosek
Pokazaliśmy, jak używać
rsync
przez SSH do kopiowania i synchronizowania plików i katalogów.
Możesz także przeczytać, jak wykluczyć pliki lub katalogi za pomocą
rsync
.
Jeśli masz jakieś pytania, zostaw komentarz.
terminal rsyncJak przesyłać pliki i ustawienia między oknami systemu Windows
Masz nowy komputer z systemem Windows 10, który chcesz przesłać dane ze starego komputera z systemem Windows? Narzędzie firmy Microsoft może pomóc, czytaj dalej, aby dowiedzieć się, jak to zrobić.
Jak przesyłać pliki z telefonu z Androidem do komputera bez USB…
Dowiedz się, jak zarządzać i przesyłać zdjęcia i pliki z telefonu z Androidem do komputera bez podłączania kabla USB.
Jak wykluczyć pliki i katalogi za pomocą rsync
Rsync umożliwia tworzenie kopii lustrzanych danych, tworzenie przyrostowych kopii zapasowych i kopiowanie plików między systemami. Podczas kopiowania danych możesz wykluczyć jeden lub więcej plików lub katalogów na podstawie ich nazwy lub lokalizacji. W tym samouczku pokażemy, jak wykluczyć pliki i katalogi za pomocą rsync.







