Помощната програма rsync ви позволява да прехвърляте и синхронизирате файлове между вашия компютър и външен твърд диск. Можете също да го използвате, за да изпращате файлове в локална мрежа до всички устройства, но за да го направите, получателят трябва да въведе правилната парола. Въпреки това има един трик, който можете да използвате, за да накарате устройствата си да бъдат синхронизирани, без да използвате пароли. Прочетете, за да научите как да заобиколите паролата с помощта на SSH или SCP команди.
Вижте и нашата статия Как да сравните скоростта на вашия твърд диск или SSD
Как да RSYNC без използване на парола
Можете да настроите rsync над ssh и след това можете да го използвате без парола. Функцията е чудесна за планиране на задания на cron за автоматично архивиране при използване на rsync. Ето как можете да заобиколите паролата.
Първо, трябва да изпробвате rsync над ssh, докато използвате съществуваща парола.
Направете стандартна rsync, както правите през цялото време, за да гарантирате, че ще бъдете помолени да въведете паролата си на отдалечения сървър. Копирайте някои файлове само за да сте сигурни, че отдалеченият сървър работи.
Използвайте този пример за синхронизиране на вашата локална folder/home/pies
с отдалечената folder/backup/pies
Използвайте сървърната команда 192.168.188.15.
След като изпълните тази команда, ще бъдете подканени да въведете паролата на вашия акаунт на отдалечения сървър: rsync -avz -e ssh /home/pies/ :/backup/pies/
Следващата стъпка е да конфигурирате ssh, за да пропуснете частта, в която поиска вашата парола. Използвайте командата ssh-keygen на вашия локален сървър, за да създадете частни и публични ключове. Използвайте следната команда:
$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
ЗАБЕЛЕЖКА: След като бъдете подканени да въведете парола, просто оставете секцията празна и натиснете Enter.
Копирайте публичния ключ на отдалечения си хост, като използвате ssh-copy-id
. Въведете следната команда: ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.188.15
След това ще бъдете подканени да въведете паролата на вашия отдалечен хост и ще трябва да копирате публичния ключ на правилното място.
Сега, когато всичко е настроено, вие сте готови да rsync без парола. Използвайте тази команда: ssh 192.168.188.15
да rsync, без да въвеждате паролата си. Ето rsync, който трябва да използвате: rsync -avz -e ssh /home/pies/ :/backup/pies/
. Можете също така да автоматизирате това архивиране на rsync и да го планирате с cron.
Други практически Rsync команди в Linux
Rsync или отдалечена синхронизация могат да ви помогнат да свършите много бързо и това включва копиране и синхронизиране на файлове от разстояние. Ето няколко полезни команди, които можете да използвате, за да ускорите нещата, когато работите отдалечено.
Копиране и синхронизиране на файлове на компютър
Командата по-долу ще синхронизира един файл на вашия локален компютър от едно място на друго. Копирайте файл, наречен backup.tar to /tmp/backups/ folder
за да работи.
]# 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
Примерът по-горе е за ситуации, при които целевата папка / директория вече не съществува в rsync и искате да създадете такава автоматично.
Копиране и синхронизиране на директории на компютър
Следващата команда ще синхронизира или прехвърли всички файлове от една директория в друга на същия компютър. Ето пример: /root/rpmpkts
има някои rpm пакетни файлове и искате да го копирате в /tmp/backups/ folder
. Използвайте следната команда:
]# 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
Копиране и синхронизиране на файлове и директории от / от сървър
Копирането на директория от локалния сървър на отдалечен сървър се извършва чрез следната команда:
]$ 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
Той ще прехвърли файловете от папката „rpmpkgs“ на отдалечения сървър, който искате.
Когато искате да копирате файлове от отдалечен сървър на вашата локална машина, използвайте тази команда:
]# 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
Можете да го използвате, за да синхронизирате отдалечен файл или директория и да го копирате на вашата локална машина.
Заобиколи паролата и Rsync така или иначе
Ако използвате Linux и отдалечен сървър много, е полезно да знаете тези команди, защото те могат да ви помогнат да направите нещата много по-бързи. Вече можете да копирате и синхронизирате файлове с тези основни команди.
