Narzędzie rsync umożliwia przesyłanie i synchronizację plików między komputerem a zewnętrznym dyskiem twardym. Możesz go również użyć do przesłania plików przez sieć lokalną do wszystkich urządzeń, ale w tym celu odbiorca musi wprowadzić poprawne hasło. Istnieje jednak sztuczka, której można użyć do zsynchronizowania urządzeń bez użycia haseł. Czytaj dalej, aby dowiedzieć się, jak ominąć hasło za pomocą poleceń SSH lub SCP.
Zobacz także nasz artykuł Jak sprawdzić szybkość dysku twardego lub dysku SSD
Jak RSYNC bez używania hasła
Możesz skonfigurować rsync przez ssh, a następnie użyć go bez hasła. Ta funkcja jest świetna do planowania zadań cron do automatycznego tworzenia kopii zapasowych podczas korzystania z rsync. Oto jak możesz obejść hasło.
Najpierw musisz przetestować rsync przez ssh, używając istniejącego hasła.
Wykonuj standardowy rsync, tak jak robisz to cały czas, aby upewnić się, że zostaniesz poproszony o podanie hasła na zdalnym serwerze. Skopiuj niektóre pliki, aby upewnić się, że zdalny serwer działa.
Skorzystaj z tego przykładu, aby zsynchronizować folder/home/pies
lokalny folder/home/pies
ze zdalnym folder/backup/pies
. Użyj polecenia serwera 192.168.188.15.
Po wykonaniu tego polecenia pojawi się monit o podanie hasła do konta na serwerze zdalnym: rsync -avz -e ssh /home/pies/ :/backup/pies/
Następnym krokiem jest skonfigurowanie ssh, aby pomijał część, w której prosi o hasło. Użyj polecenia ssh-keygen na lokalnym serwerze, aby utworzyć klucze prywatne i publiczne. Użyj następującego polecenia:
$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
UWAGA: Po wyświetleniu monitu o wprowadzenie hasła, po prostu pozostaw sekcję pustą i naciśnij klawisz Enter.
Skopiuj klucz publiczny do zdalnego hosta za pomocą ssh-copy-id
. Wprowadź następującą komendę: ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.188.15
Następnie zostaniesz poproszony o podanie hasła na zdalnym hoście i będziesz musiał skopiować klucz publiczny do właściwej lokalizacji.
Teraz, gdy wszystko jest skonfigurowane, jesteś gotowy do rsync bez hasła. Użyj tego polecenia: ssh 192.168.188.15
aby rsync bez podawania hasła. Oto rsync, którego powinieneś użyć: rsync -avz -e ssh /home/pies/ :/backup/pies/
. Możesz także zautomatyzować tworzenie kopii zapasowej rsync i zaplanować za pomocą crona.
Inne praktyczne polecenia Rsync w systemie Linux
Rsync lub Remote Sync może pomóc szybko wykonać wiele zadań, w tym zdalne kopiowanie i synchronizowanie plików. Oto kilka przydatnych poleceń, których możesz użyć, aby przyspieszyć działanie podczas pracy zdalnej.
Kopiuj i synchronizuj pliki na komputerze
Poniższe polecenie zsynchronizuje pojedynczy plik na komputerze lokalnym z jednej lokalizacji do drugiej. Skopiuj plik o nazwie backup.tar to /tmp/backups/ folder
, aby działał.
]# rsync -zvh backup.tar /tmp/backups/
created directory /tmp/backups
backup.tar
sent 14.71M bytesreceived 31 bytes3.27M bytes/sec
total size is 16.18Mspeedup is 1.10
Powyższy przykład dotyczy sytuacji, w których docelowy folder / katalog jeszcze nie istnieje w rsync i chcesz go utworzyć automatycznie.
Kopiuj i synchronizuj katalogi na komputerze
Następne polecenie zsynchronizuje lub prześle wszystkie pliki z jednego katalogu do innego na tym samym komputerze. Oto przykład: /root/rpmpkts
ma kilka plików pakietów rpm i chcesz je skopiować do /tmp/backups/ folder
. Użyj następującego polecenia:
]# rsync -avzh /root/rpmpkgs /tmp/backups/
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/nagios-3.5.0.tar.gz
rpmpkgs/nagios-plugins-1.4.16.tar.gz
sent 4.99M bytesreceived 92 bytes3.33M bytes/sec
total size is 4.99Mspeedup is 1.00
Kopiuj i synchronizuj pliki i katalogi do / z serwera
Kopiowanie katalogu z serwera lokalnego na serwer zdalny odbywa się za pomocą następującego polecenia:
]$ rsync -avz rpmpkgs/ :/home/
's password:
sending incremental file list
./
httpd-2.2.3-82.el5.centos.i386.rpm
mod_ssl-2.2.3-82.el5.centos.i386.rpm
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
sent 4993369 bytesreceived 91 bytes399476.80 bytes/sec
total size is 4991313speedup is 1.00
Pliki zostaną przesłane z folderu „rpmpkgs” na wybrany serwer zdalny.
Jeśli chcesz skopiować pliki ze zdalnego serwera na komputer lokalny, użyj tego polecenia:
]# rsync -avzh :/home/tarunika/rpmpkgs /tmp/myrpms
's password:
receiving incremental file list
created directory /tmp/myrpms
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/nagios-3.5.0.tar.gz
rpmpkgs/nagios-plugins-1.4.16.tar.gz
sent 91 bytesreceived 4.99M bytes322.16K bytes/sec
total size is 4.99Mspeedup is 1.00
Możesz go użyć do zsynchronizowania zdalnego pliku lub katalogu i skopiowania go na komputer lokalny.
W każdym razie pomiń hasło i Rsync
Jeśli często używasz Linuksa i zdalnego serwera, dobrze jest znać te polecenia, ponieważ mogą one pomóc w szybszym wykonywaniu zadań. Możesz teraz kopiować i synchronizować pliki za pomocą tych podstawowych poleceń.