Jak skonfigurować demon rsync na Linux
- 1972
- 278
- Natan Cholewa
W poprzednim artykule zobaczyliśmy kilka podstawowych przykładów korzystania z rsync
w systemie Linux do wydajnego przesyłania danych. Jak widzieliśmy, aby zsynchronizować dane z zdalnym maszyną, możemy użyć zarówno zdalnego powłoki ssh
albo Demon rsync
. W tym artykule skupimy się na tej drugiej opcji i zobaczymy, jak zainstalować i skonfigurować rsyncd
na niektórych najczęściej używanych rozkładach Linuksa.
W tym samouczku nauczysz się:
- Jak zainstalować i skonfigurować demon rsync
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Niezależny od rozkładu |
Oprogramowanie |
|
Inny | Nie są potrzebne specjalne wymagania, aby przestrzegać tego samouczka |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Instalacja
Instalowanie Demon rsync
jest naprawdę łatwe, ponieważ pakiet i jego zależności są domyślnie dostępne we wszystkich głównych repozytoriach Linux dystrybucji. NA Debian
I Archlinux
, pliki związane z demem rsync są zawarte rsync
Pakiet, więc musimy tylko zainstalować to drugie. W Debian możemy użyć menedżera pakietów Apt:
$ sudo apt-get instaluj rsync
Zamiast tego w Archlinux używamy Pacmana:
$ sudo pacman -s rsync
Zamiast tego w dystrybucjach takich jak Fedora, rsyncd
, Demon rsync, jest dystrybuowany we własnym pakiecie, Rsync-Daemon
. W ostatnich wersjach dystrybucji, aby ją zainstalować, możemy użyć DNF
Menedżer pakietów. Główny pakiet RSync zostanie zainstalowany jako zależność:
$ sudo dnf instaluj rsync-daemon
Plik konfiguracyjny rsyncd
Raz rsyncd
jest zainstalowany, możemy go skonfigurować za pomocą /etc/rsyncd.conf
plik. Plik jest już zawarty w pakietach Archlinux i Fedora, podczas gdy w Debian musi być utworzony od zera. Oto treść pliku na Fedorze:
# /etc /rsyncd: plik konfiguracyjny dla trybu demona rsync # patrz rsyncd.Strona Conf Man, aby uzyskać więcej opcji. # konfiguracja.pid # exclude = lost+found/ # logowanie przesyłania = tak # limit czasu = 900 # ignoruj non -readable = tak # nie kompresuj = *.GZ *.TGZ *.zamek błyskawiczny *.Z *.Z *.RPM *.Deb *.BZ2 # [ftp] # ścieżka = /home /ftp # komentarz = obszar eksportowy ftp
Wszystkie parametry są komentowane i wyświetlane jako przykład konfiguracji: reprezentują dobry punkt wyjścia do naszej dyskusji. Pierwszą rzeczą, którą musimy zauważyć, jest to, jak rsyncd moduł
definiuje:
[ftp] ścieżka = /home /ftp komentarz = obszar eksportu FTP
Moduł jest zdefiniowany w „zwrotce”, która rozpoczyna się od deklaracji nazwy modułu między nawiasami kwadratowymi, w tym przypadku [ftp]
. Moduł jest powiązany z katalogiem w systemie plików, określonym z ścieżka
argument. Wszystkie parametry podane wewnątrz zwrotki są lokalny
, Są więc stosowane tylko do powiązanego modułu; Ustawienia dostarczone przed jakimkolwiek zwrotkami są światowy
. Rzućmy okiem na niektóre z nich.
Globalne parametry
Jak właśnie powiedzieliśmy, globalne parametry to te zdefiniowane na początku /etc/rsyncd.conf
plik, przed jakąkolwiek definicją modułu lub opcjonalnie wewnątrz [światowy]
Sekcja. Tutaj omówimy niektóre z najciekawszych.
Parametr „plik PID”
Ten parametr służy do określenia ścieżki pliku, w którym rsyncd Pid
(Identyfikator procesu) zostanie napisane. Domyślnie uruchomienie demona zostanie przerwane, jeśli określony plik już istnieje. Możliwe jest zmiana tego zachowania i pozwolić, aby plik zostanie zastąpiony przez uruchomienie demona rsync z --dparam = pid -file = plik
opcja.
Parametr „portu”
Korzystając z tego globalnego parametru, możemy określić alternatywny port dla demona rsync. Domyślnie jest TCP
Port 873. Ta opcja może zostać zastąpiona po uruchomieniu demona, używając --Port
opcja.
Parametr „adresu”
Możemy użyć globalnego adres
parametr do określenia adresu, którego demon rsync będzie słuchać. Adres określony w pliku można zastąpić poprzez uruchomienie demona za pomocą --adres
opcja, zapewniając pożądany adres jako argument.
Oprócz parametrów, które widzieliśmy powyżej, w sekcji globalnej możemy również określić Parametry modułu
. Kiedy to zrobimy, określone wartości parametrów staną się domyślnymi dla wszystkich modułów.
Parametry modułu
Parametry modułu są określone w sekcji modułu i są stosowane tylko do tej sekcji. Zobaczmy niektóre z nich.
Parametr „ścieżki”
Ten parametr jest obowiązkowy i musi być dostarczany dla każdego modułu. Służy do określenia ścieżki katalogu udostępnionego przez sam moduł.
Parametr „komentarz”
Parametr „komentarz” jest opcjonalny: możemy określić ciąg, który zostanie wyświetlony w pobliżu nazwy modułu, gdy klient poprosi o listę dostępnych.
Zrób moduł odczyt lub zapisz tylko
Domyślnie wszystkie moduły są tworzone jako tylko do odczytu. Oznacza to, że klient może użyć go tylko jako źródła przeniesienia. To zachowanie można zmienić, ustawiając parametr „tylko odczyt” na NIE
Lub FAŁSZ
. Moduł można również wykonać tylko do zapisu za pomocą pisz tylko
parametr i dostarczanie Tak
Lub PRAWDA
jako wartość. Jeśli ten ostatni parametr zostanie aktywowany, klient nie będzie mógł pobierać plików z modułu. Aby odczytać pliki z modułu lub zapisywać do niego, należy również przestrzegać standardowych uprawnień Unix, więc użytkownik przelew jest uruchamiany.
Parametry UID i GID
UID
I kołowacizna
Parametry połączone, zdefiniuj uprawnienia, jakie będzie miał przesyłanie. Pierwszy z nich służy do zdefiniowania użytkownika, transfer jest uruchamiany, gdy demon jest uruchamiany jako root (jeśli demon jest uruchamiany z uprawnieniami normalnego użytkownika, użytkownik się nie zmieni). Użytkownik może zostać zidentyfikowany przez jego nazwę użytkownika lub jego numeryczny identyfikator. Ten ostatni definiuje jedną lub więcej nazwy grupy lub identyfikatora grupy do użycia do transferu.
Wartość domyślna dla obu opcji jest nikt
, co oznacza, że gdy demon zostanie uruchomiony jako root, transfery będą uruchamiane z uprawnieniami nikt
użytkownik i nikt
grupa (na Debian grupa nikogo nie istnieje - Nogrupa
jest używany).
Parametr „Użyj chroot”
Za pomocą Użyj chroot
Parametr, możemy zdefiniować, czy RSync powinien chroot do ścieżki zdefiniowanej modułu przed uruchomieniem przeniesienia. Można to wykorzystać do egzekwowania bezpieczeństwa, ale aby z niego skorzystać, demon musi być skonfigurowany do uruchamiania z uprawnieniami root. Domyślnie ta opcja jest ustawiona na Tak
.
Parametr „maksymalne połączenia”
To kolejny bardzo przydatny parametr i służy do zdefiniowania maksymalnej liczby jednoczesnych połączeń obsługiwanych przez demon. Wartość domyślna użyta dla parametru to 0
, co oznacza, że nie ustalono limitu. Jeśli podana wartość jest liczbą ujemną, połączenia są całkowicie wyłączone.
Wyklucz i dołącz pliki z przelewu
Czasami możemy chcieć wykluczyć niektóre pliki z przeniesienia: możemy wykonać zadanie za pomocą wykluczać
parametr, który akceptuje rozdzieloną przestrzeń listę wzorów. Pliki dopasowane przez wzorce nie zostaną zsynchronizowane. włączać
Parametr działa w ten sam sposób, ale służy do wyraźnego definiowania wtrąceń.
Innym sposobem wykluczenia lub jawnego włączenia plików jest użycie Wykluczyć z
I Uwzględnij z
parametry. Dzięki tym parametrom możemy określić ścieżkę plików zawierających odpowiednio wzorce wykluczenia i włączenia. Pliki muszą zawierać jeden wzór na wiersz.
wykluczać
, włączać
, Wykluczyć z
I Uwzględnij z
Parametry mogą pojawiać się tylko raz w module.
Parametr „limit czasu”
Kiedy używamy rsync
Klient, możemy zapewnić--koniec czasu
Opcja ustawienia maksymalnego limitu czasu we/wy w sekundach: Jeśli w określonym czasie przeniesiono żadne dane, przeniesienie jest przeniesione. koniec czasu
opcja Demon rsync
może być użyte do zastąpienia limitu czasu zdefiniowanego przez klienta. Może to być przydatne, aby uniknąć oczekiwania martwego klienta nieokreślonego. Limit czasu wyraża się w kilka sekund: 0
jest domyślne i oznacza to, że nie ma limitu czasu.
„Ignoruj niezadowolone” i „nie kompresuj”
zignoruj nie do czytania
Używana jest opcja Instruuj rsync, aby ignorować pliki, które nie są czytelne przez użytkownika. Nie kompresuj
Zamiast tego jest używana do zapewnienia oddzielonej przestrzeni listy wzorców niewrażliwych na sprawę używanych do wybierania plików, których nie można kompresować podczas transferu. Może to być szczególnie przydatne, aby uniknąć kompresji już kompresowanych plików.
Parametry „Hosty zezwalają” i „hostów zaprzeczają”
Za pomocą Gospodarze pozwalają
I Gospodarze zaprzeczają
Parametry, możemy określić listę wzorców rozdzielanych przez przecinki, które zostaną dopasowane z klientami hostName lub IP, aby umożliwić lub odmówić dostępu do nich odpowiednio. Dwa parametry można łączyć i pojawiać razem w module: Wzory „zezwalaj” są sprawdzane przed „Odmówieniem”. Domyślnie wszystkie hosty mogą się łączyć.
Przykład konfiguracji modułu
Zróbmy przykład i utwórz moduł na serwerze RSync. Pierwszą rzeczą, którą musimy zrobić, to umożliwić ruch przychodzący TCP
Port 873
. Jeśli używamy zapory ogniowej, możemy dodać wstępnie skonfigurowaną rsyncd
Obsługa strefy, której używamy:
$ sudo firewall-cmd --Permanent --add-service rsyncd && sudo firewall-cmd--reload
Jeśli zamiast tego używamy UFW, możemy uruchomić:
$ sudo ufw zezwala na 873/tcp
Po skonfigurowaniu zapory możemy kontynuować i zdefiniować moduł. Oto nasza konfiguracja:
[LinuxConfig] ścieżka =/mnt/data/rsync comment = ".tekst
Nazwaliśmy nasz moduł „LinuxConfig” i powiązaliśmy /mnt/data/rsync
katalog do niego. Dostaliśmy również komentarz. Ustawiamy moduł zarówno czytelny, jak i zapisujący, ustawiając tylko czytać
parametr do fałszu i za pośrednictwem wykluczać
parametr dostarczyliśmy wzorzec wykluczenia wszystkich plików za pomocą .tekst
rozszerzenie.
Zanim użyjemy naszego modułu, musimy rozpocząć demon. Możemy uruchomić rsync jako demon, wywołując program z --Demon
Opcja, lub możemy po prostu użyć SystemD do wykonania zadania (pod kapturem usługa SystemD wykonuje to samo polecenie). Zgodnie z dystrybucjami opartymi na Debian, usługa nazywa się rsync
; Na Fedorze i Archlinux nazywa się rsyncd
:
$ sudo systemctl start rsync
Aby RSYNC uruchomi się automatycznie podczas rozruchu, musimy użyć systemuCtl włączać
Podkomenda:
$ sudo systemctl włącz rsync
Ustawiliśmy /mnt/data/rsync
katalog należący do nikt
użytkownik i Nogrupa
grupa (to maszyna debian). Oto jego treść:
$ ls/mnt/data/rsync csv1.Tekst CSV1.tekst TXT2.tekst
Jak widzimy, katalog zawiera dwa .tekst
pliki i jeden .CSV
. Jeśli używamy modułu jako źródła w transferie, tylko „CSV1.Uwzględniono plik CSV ”:
$ rsync -Av rsync: // 192.168.0.39/LinuxConfig/ . Otrzymanie przyrostowej listy plików ./ CSV1.CSV
Wykluczenie zachodzi również, gdy używamy modułu jako miejsca docelowego. Powiedzmy, że tworzymy „CSV2.CSV ”i„ Text3.Pliki TXT ”w naszym bieżącym katalogu roboczym:
$ touch csv2.Tekst CSV3.tekst
Jeśli teraz uruchomimy RSync i użyjemy naszego obecnego katalogu roboczego jako źródła i modułu jako miejsca docelowego, możemy zobaczyć, jak demon odmawia otrzymania „Text3.plik txt ”, ponieważ jest dopasowany przez określony wzór wykluczenia:
$ rsync -Av . rsync: // 192.168.0.39/LinuxConfig Wysyłanie inkrementalnej listy plików Błąd: demon odmówił odbierania pliku „Text3.tekst" ./ CSV2.CSV
Zauważ, że w powyższych poleceniach użyliśmy URL RSYNC
Aby określić adres IP serwera i nazwę modułu, którego chcemy użyć. Jak możemy uzyskać listę wszystkich dostępnych modułów na komputerze? Jest to bardzo łatwe, po prostu uruchamiamy polecenie rsync określające tylko adres serwera w adresie URL:
$ rsync rsync: // 192.168.0.39 Linuxconfig „Przykład modułu demona rsync”
Wszystkie dostępne moduły i powiązane komentarze zostaną wyświetlone; W tym przypadku tylko „Linuxconfig”.
Wniosek
W tym artykule widzieliśmy, jak zainstalować i skonfigurować demon rsync, na niektórych najczęściej używanych dystrybucjach Linux. Widzieliśmy i nauczyliśmy się korzystać z niektórych dostępnych parametrów globalnych i specyficznych dla modułu, aby zmienić zachowanie demona rsyncd. Wreszcie widzieliśmy przykład konfiguracji modułu. Dla bardziej dogłębnej wiedzy rsyncd
, Zawsze możemy zapoznać się z oficjalną instrukcją. To tylko kwestia biegania:
$ man rsyncd.conf
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Rzeczy do zainstalowania na Ubuntu 22.04
- Linux Pliki konfiguracyjne: Top 30 Najważniejsze
- Mastering Bash Script Loops
- Pobierz Linux
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Jak podwójnie rozruch Kali Linux i Windows 10
- Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć
- « Przykłady, jak korzystać z RSync dla lokalnych i zdalnych kopii zapasowych danych i synchronizacji
- Jak zainstalować Dockera na Ubuntu 20.04 LTS Focal Fossa »