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 [email protected]::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 [email protected]::mysqlbackup /data/mysql > /dev/null 2>&1

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

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

你可能感兴趣的:(rsync,同步备份)