今天简单的了解了 rsync 工具的使用,rsync 是一个Unix系统下的文件同步和传输工具,具有以下功能能
- 更新整个目录和树和文件系统;
- 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
- 对于安装来说,无任何特殊权限要求;
- 对于多个文件来说,内部流水线减少文件等待的延时;
- 能用rsh、ssh 或直接端口做为传输入端口;
- 支持匿名rsync 同步文件,是理想的镜像工具;
- 可以增量同步数据,文件传输效率高;
备注:今天仅做个简单的实验,将本地文件同步到远程,做个笔记备忘。
环境信息
rsyncd 服务端 192.168.2.37
客户端: 192.168.2.36
Rsyncd 服务端配置
2.1 创建目录
1 |
[root@db1 etc] |
2.2 创建配置文件
1 |
[root@db1 etc]# touch /etc/rsyncd/rsyncd.conf |
主要参数解释如下:
- max connections 表示允许并行的最大客户端连接数
- read only = false 表示允许客户端上传文件到 rsyncd 服务端;
- [backup] 表示模块别名,sync 传文件时需指定;
- hosts allow 表示允许的客户端 IP 列表;
- hosts deny 表示拒绝的客户端 IP 列表;
更多参数解释请参考手册 http://rsync.samba.org/ftp/rsync/rsyncd.conf.html
2.3 启动 rsyncd 服务
1 |
[root@db1 backup]# /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf |
2.4 打开 rsyncd 服务器防火墙
如果打开了防火墙,需要开通 873 tcp 端口,此步略。
客户端测试
测试将客户端 $PGDATA/pg_log 目录上传到 rsyncd 服务端。
1 |
[pg93@redhatB pg_root]$ rsync -acvz pg_log 192.168.2.37::backup |
备注: 同步本地 pg_log 目录到 rsyncd 服务器, 后面接模块名 backup,对应的是 /database/backup 目录。
- -a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
- -c, –checksum 打开校验开关,强制对文件传输进行校验
- -v, –verbose 详细模式输出
- -z, –compress 对备份的文件在传输时进行压缩处理
- -r, –recursive 对子目录以递归模式处理
附: Rsync 语法
NAME
rsync — a fast, versatile, remote (and local) file-copying tool
SYNOPSIS
Local: rsync [OPTION…] SRC… [DEST]
Access via remote shell:
Pull: rsync [OPTION…] [USER@]HOST:SRC… [DEST]
Push: rsync [OPTION…] SRC… [USER@]HOST:DEST
Access via rsync daemon:
Pull: rsync [OPTION…] [USER@]HOST::SRC… [DEST]
rsync [OPTION…] rsync://[USER@]HOST[:PORT]/SRC… [DEST]
Push: rsync [OPTION…] SRC… [USER@]HOST::DEST
rsync [OPTION…] SRC… rsync://[USER@]HOST[:PORT]/DEST
Usages with just one SRC arg and no DEST arg will list the source files instead of copying.
参考
Linux下架设rsync服务器
rsyncd.conf
rsync
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/238043.html