问题描述
在linux平台上常用rsync协议来同步文件和目录,'rsync'也是各种linux发行版标配的命令。当我们基于linux平台开发应用程序时,常常需要从Java或者Python代码中调用rsync命令来实现文件的传输。
例如,假设我们要按照如下需求来传输文件:
- 有两台机器:localhost和remotehost
- Java程序deploy在localhost上,通过rsync将本机文件传送到remotehost,或者从remotehost pull文件到localhost
- rsync通过ssh连接remotehost
- 在remotehost有个叫csdn的帐户,专门用来rsync传输文件,只能用密钥文件登陆
- 最重要的是,在rsync连接过程中不需要输入csdn的帐户密码,否则密码输入界面会block住Java程序的运行
下面我们来看看一步步如何实现。
配置rsync
1. [远端机器] 创建专用帐户csdn
# 创建用