centos为例配置rsync+ssh通过sshpass密码自动登录同步文件

0 centos为例配置rsync+ssh通过sshpass密码自动登录同步文件

rsync实时同步的配置比较繁琐,并且对于小型的项目来说也没必要实时同步。

另外rsync可以使用ssh命令来操作,但每次都需要输入密码,这样就没办法通过crontab来实现自动同步。本文目的就是讲一下怎么通过shhpass来实现自免输密码动同步。

1、安装rsync和sshpass

yum install rsync
yum install sshpass

2、登录一次远程主机

ssh remote_user@remote_host

3、测试一下命令行自动输入密码

sshpass -p remote_password rsync -avz --delete -e ssh remote_user@remote_host:/remote/dir /local/dir
命令说明:
remote_use/remote_password是远程的密码
-avz是打包传送、显示明细、压缩
-e ssh是关键,即over ssh
我们要从远程同步到本地
/remote/dir是远程服务器路径
/local/dir是本地服务器路径

4、加入crontab计划任务

vim rsync-xx
sshpass -p remote_password rsync -avz --delete -e ssh remote_user@remote_host:/remote/dir /local/dir

写入文件,定时执行文件,方便多个脚本同步到多肽服务器。

方案一使用run-parts:

#创建cron.min,把要执行的N个脚本拷贝过来
sudo mkdir cron.min
cp rsync-xx ./

#更改cron table
vim /etc/crontab
*/3 * * * * root run-parts /etc/cron.min

方案二直接写入crontab:

#假设我们的脚本位于/path/cron.min
vim /etc/crontab
*/3 * * * * /path/cron.min


赞(0)
打赏 微信扫一扫微信 支付宝 QQ 扫码打赏
如若转载,请注明本文出自:https://www.guaitoo.com/show/196.html