Używanie rsync poprzez Secure Shell

P

rzedstawiony hack jest tłumaczeniem „Using rsync over ssh” z książki „Linux Servers Hacks” autorstwa Rob’a Flickenger’a udostępnionym on-line (Hack #38) na stronie http://hacks.oreilly.com. Do tłumaczenia zostało dodane także parę informacji od tłumacza.

   Choć program tar użyty potokowo z ssh idealnie nadaje się do tworzenia zdalnych kopii fragmentów systemu plików, rsync lepiej synchronizuje systemy plików dwóch komputerów. Zwykle tar służy do wykonania pierwszej kopii, zaś rsync do przesłania zmian, jakie zaszły od czasu ostatniej kopii. Jest tak dlatego, że tar jest szybszy od programu rsync, gdy nie istnieją pliki docelowe, ale rsync staje się szybszy od programu tar, kiedy między oboma systemami plików różnice są nieznaczne.

Aby uruchomić program rsync poprzez ssh, przekaż mu parametr -e, w ten sposób:

root@rover:~# rsync -ave ssh greendome:/home/ftp/pub/ /home/ftp/pub/

Zwróć uwagę na kończący znak / w określeniu plików źródłowych (na komputerze greendome). W określeniu plików źródłowych kończących znak / nakazuje programowi rsync skopiować zawartość katalogu, lecz nie sam katalog. Aby dołączyć katalog jako główny katalog kopiowanych plików, opuść znak /:

root@village:~# rsync -ave ssh bcnu:/home/six .

Dzięki temu kopia katalogu ~root/six/ na komputerze village będzie zsynchronizowana z danymi na komputerze bcnu:/home/six/. Program rsync domyślnie tylko kopiuje pliki i katalogi, ale nie usuwa ich z kopii docelowej po usunięciu ich ze źródła. Aby kopie były dokładne, dołącz flagę –delete:

six@jammer:~/public_html# rsync -ave ssh  --delete greendome:~one/reports .

Po usunięciu starych raportów z katalogu ~one/reports/ na komputerze greendome są one także usuwane z katalogu ~six/public_html/reports/ na komputerze jammer po każdym uruchomieniu tego polecenia. Jeśli uruchamiasz takiego rodzaju polecenie w programie cron, pomin parametr „v”. Dzięki temu na wyjściu nie będą generowane komunikaty (o ile program rsync nie napotka problemów podczas działania, a w takim wypadku zostanie wysłany list elektroniczny z komunikatem o błędzie).

Użycie ssh jako warstwy transportowej polecenia rsync ma tę zaletę, że dane są szyfrowane w sieci, a także wykorzystuje się wszystkie relacje zaufania między kluczami klientów ssh. Program rsync jest bardzo przydatnym narzędziem do synchronizacji dużych, skomplikowanych struktur katalogów między dwoma komputerami (zwłaszcza jeśli występują między nimi nieznaczne różnice).

0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
Linux Find Large Files
Viewed 1285 times since Mon, Oct 29, 2018
Fedora 32: Simple Local File-Sharing with Samba CIFS Linux
Viewed 6939 times since Sun, Dec 6, 2020
Tunnel SSH Connections Over SSL Using ‘Stunnel’ On Debian 7 / Ubuntu 13.10
Viewed 1309 times since Fri, Sep 28, 2018
Do you Know These 5 Use of V$session View ?
Viewed 13170 times since Thu, Jun 21, 2018
RHEL: iSCSI target/initiator configuration on RHEL6
Viewed 5843 times since Sat, Jun 2, 2018
12 Linux Rsync Options in Linux Explained
Viewed 9638 times since Wed, Oct 31, 2018
stunnel How To Encrypt Traffic to Redis with Stunnel on Ubuntu 16.04
Viewed 495 times since Sun, Dec 6, 2020
Linux - How to monitor memory usage
Viewed 1202 times since Fri, Jun 8, 2018
Using etckeeper with git
Viewed 5268 times since Sun, Jun 3, 2018
10 Linux DIG Command Examples for DNS Lookup
Viewed 9393 times since Sun, Sep 30, 2018