Linux服务器rsync自动备份-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

Linux服务器rsync自动备份

简介:
一、在 server 端配置

1. 编辑配置文件

#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 = 192.168.100.1            # 哪些电脑可以访问rsync服务 
#hosts deny = 192.168.100.0/24         # 哪些电脑不可以访问rsync服务 

[mysqlbackup]                          # rsync区段的设定名称
path = /zsjdata/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. 在server端生成一个密码文件 /etc/rsyncd.pwd

# echo root:xxx >> /etc/rsyncd.pwd
# 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 XXX >> /etc/rsyncd.pwd
#chmod 600 /etc/rsyncd.pwd


2. 测试备份命令

客户端备份服务器上指定模块中的数据 备份rsync服务器上postfix中模块指定文件夹,并删除本地服务器上没有的内容

#rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@192.168.100.2::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@192.168.100.2::mysqlbackup /data/mysql > /dev/null 2>&1

本来是想给自己两台服务器做个简单的双机数据库自动备份,一台服务器在美国百兆共享,一台在国内5兆独享,结果测试是没问题成功了,但这个速度实在太让人蛋疼了,才20KB。。

编辑的时候,请注意参数前面的 短横杠

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

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章