【CentOS】使用RSYNC来传输文件或目录

因特殊原因,不允许使用SFTP、FTP和SCP等协议,故选用RSYNC来传输大文件到云端服务器。

1、安装软件

yum install -y rsync

2、在接收端(服务端)配置好rsync服务

vim /etc/rsyncd.conf
list = true   # 允许列出共享内容
uid = nobody
gid = nobody
max connections = 256   # 最大连接数
use chroot = true   # 将rsync进程限制在指定的根目录中
secrets file = /etc/rsyncd.secrets   # 包含用户凭据的密码文件路径
hosts allow = 192.168.1.0/24 10.0.0.2   # 允许访问的 IP 地址列表,以空格分隔
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
 
[data]
path = /data/
auth users = rsync   # 允许访问共享的用户,以空格分隔
read only = false   # 允许用户上传文件

3、在接收端(服务端)创建rsync用户并启动服务

echo "rsync:password" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
systemctl start rsyncd   # 启动服务,需防火墙开放TCP 873端口

4、在发送端(客户端)传输文件【示例】

export RSYNC_PASSWORD=password
rsync -avzP localfile.txt rsync@接收端IP:/data/
   # -a: 归档模式,用于保留文件属性,包括权限、所有者和时间戳等。
   # -v: 显示详细输出,显示传输过程中的详细信息。
   # -z: 启用压缩,减少网络传输的数据量。
   # -P: 等同于 --partial --progress,允许在传输中断后继续,同时显示传输进度。
   # localfile.txt: 本地文件的路径和名称,这是要传输的文件。
   # rsync@接收端IP: 远程服务器的用户名和 IP 地址,用于 SSH 连接。
   # :/data/: 远程服务器上的目标路径,文件将传输到这个目录。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容