Утилита 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 или Remote Sync могут помочь вам быстро сделать многое, включая удаленное копирование и синхронизацию файлов. Вот несколько полезных команд, которые вы можете использовать для ускорения работы при удаленной работе.
Копировать и синхронизировать файлы на компьютере
Команда ниже синхронизирует один файл на вашем локальном компьютере из одного места в другое. Скопируйте файл с именем 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 и удаленный сервер, полезно знать эти команды, потому что они могут помочь вам быстрее справиться с задачей. Теперь вы можете копировать и синхронизировать файлы с помощью этих основных команд.