开发者社区> zsjangel> 正文

Linux使用rsync客户端与服务端同步目录进行备份

简介:
+关注继续查看

一、服务端设置

1. 修改 server 端配置

# vi /etc/rsyncd.conf

修改:

uid = nobody                           # 该选项指定当该模块传输文件时守护进程应该具有的uid.默认值为”nobody”.
gid = nobody                           # 该选项指定当该模块传输文件时守护进程应该具有的gid.默认值为”nobody”.
max connections = 4                    # 最大连接数为4
use chroot = no                        # 不使用chroot
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
hosts allow = 28.16.67.10            # 哪些客户端IP可以访问rsync服务
#hosts deny = 192.168.100.0/24         # 哪些IP不可以访问rsync服务  0/24 代表 192.168.100 该IP段

添加一个自定义的同步模块配置:

[mysqlbackup]                          # rsync同步模块的设定名称
path = /mydata/mysql/data             # 需要同步的数据存放路径
comment = mysql backup folder          # 注释
auth users = root                      # 指定用户
ignore errors                          # 忽略错误
read only = yes                        # 只读
list = no                              # 不能列表
auth users = root                      # 连接rsync服务的帐号
secrets file = /etc/rsyncd.pwd         # 指定存放帐号密码的位置

2. 服务端生成密码文件

# echo root:123456 >> /etc/rsyncd.pwd

配置文件权限,仅允许 root 使用:

# chmod 600 /etc/rsyncd.pwd

3. 启动 rsync 守护进程方式启动

# rsync –-daemon

4. 添加到自启动文件

# echo "rsync --daemon" >> /etc/rc.d/rc.local

5. 检查 rsync 默认使用的是873端口,除非特殊情况,一般不要去修改

# netstat -na | grep 873


显示如下:

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 :::873 :::* LISTEN


二、客户端设置:

1. 生成密码文件 rsync 服务端 root 帐号密码 (注:只要密码)

# echo 123456 >> /etc/rsyncd.pwd
# chmod 600 /etc/rsyncd.pwd

2. 指定客户端目录与服务端指定的rsync模块配置的目录同步,并删除客户端存在而服务端不存在的目录或文件

# rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/mysql

# -v, –verbose 详细模式输出
# -z, –compress 对备份的文件在传输时进行压缩处理
# -r, –recursive 对子目录以递归模式处理
# -t, –times 保持文件时间信息
# -o, –owner 保持文件属主信息
# -p, –perms 保持文件权限
# -g, –group 保持文件属组信息
# –-progress 显示传输进度
# –-delete 删除本地备份目录中服务器模块指定目录中没有的文件
# –-password-file 从指定文件中得到密码


3. 制定计划任务

# crontab -e

加入:

0 0 * * * rsync -vzrtopg --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/backup/mysql > /dev/null 2>&1


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
07-rsync企业真实项目备份案例实战(需求收集--服务器配置---客户端配置---报警机制---数据校验---邮件告警)
2.需求描述 客户端需求: 1.客户端每天凌晨1点在服务器本地打包备份(系统配置文件、日志文件、其他目录、应用配置文件) 2.客户端备份的数据必须存放至以主机名IP地址当前时间命名的目录中,例如/backup/nfs_192.168.81.210_2020-05-26,其实更好的备份方式/backup/192.168.81.210/nfs_2020-05-26,一会采用后者,要求不只是备份文件,要求连上级目录一并拷过来
20 0
sersync+rsync文件目录实时同步
最近需要在生产环境上rsync+inotify实时同步,但是测试发现效果极其不理想,我需要实时同步的目录大小大概为70G。起初用空目录测试的话效果极佳,但是本身我需要同步的目录很大,当我测试写入一个文件时会马上同步到备机,但是脚本后台执行内容日志一直刷扫遍目录下的所有文件,再写入一个文件时是不会马上同步到备机上的,当然等多久我不知道,我想应该会把目录扫遍完成吧!所以在网上找了一个sersync+rsync,我做了一下并发测试,同步效果确实不错。
644 0
Java Socket服务端客户端通信实例
本文目录 1. Socket是啥 2. 运行机制 3. 代码示例 4. 测试 5. 小结
39 0
通过SQL Server 2008数据库复制实现数据库同步备份
原文 通过SQL Server 2008数据库复制实现数据库同步备份 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。
1551 0
+关注
132
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载