rsync文件同步使用记录

这里记录一个在工作中需要使用的rsync进行存储文件备份的方法。

需求:
在服务器端进行录音文件存储,不但文件要存储到服务器上,还需定时备份到存储上。

一. 文件备份源端配置

1、在 /etc/路径下创建rsyncd.conf 文件,文件内容如下:

uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[web]
path = /var/ftp/file               #需要备份的路径,按需求更改
ignore errors
read only = true
list = false
hosts allow = 192.168.0.0         # 允许的IP地址,* 为全部允许
auth users = root             # 认证用户名
secrets file = /etc/rsync.passwd   # 认证用户的密码文件

2、在 /etc/路径下创建密码文件rsync.passwd文件,文件内容如下:

root:skyfans                        # 认证用户名密码,按需求更改

二. 文件备份目标端配置

1、在 /etc/路径下创建密码文件rsync.passwd文件,文件内容如下:

root:skyfans                 # 认证用户名密码,必须与源端配置相同

三. 配置文件赋权

rsyncd.conf和rsync.passwd文件需要赋予600权限,权限过大可能会报错,
赋权命令为:

chmod 600 rsyncd.conf rsync.passwd

四. 查看是否存在rsync命令

rsync 
rpm -qa|grep rsync

如果该服务器不存在命令则需安装。

五. 启动rsync服务

启动命令为:

/usr/bin/rsync --daemon --config=/etc/rsyncd.conf

仅备份文件源端需要启动服务, 通过ps -ef|grep rsync 查看进程

ps -ef|grep rsync

六. rsync参数及用法举例

rsync -a --password-file=/etc/rsync.passwd --delete --bwlimit=10240 root@源端IP::web /home/file

rsync -a --password-file=/etc/rsync.passwd  --delete --bwlimit=10240 root@源端IP::web /home/file

参数说明:
/home/file为目标端文件备份路径;
web =rsyncd.conf 文件中[web];
-a: -archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD;
–password-file=FILE 从FILE中得到密码;
–bwlimit=KBPS 限制I/O带宽,KBytes per second;
–delete 删除那些DST中SRC没有的文件。

以下为脚本举例,仅作为参考:

#!/bin/bash
DATE=`date`

starttime=`date +%s`
rsync   -a --password-file=/etc/rsync.passwd  --delete  [email protected]::web1  /home/file
endtime=`date +%s`
baktime=`expr $endtime - $starttime`
echo "rsync OK at  $DATE">>/tmp/rsync.log
echo "rsync timeused $baktime  second" >>/tmp/rsync.log
if [ $? -eq 0 ]
then 
echo "rsync failed  at $DATE" >/tmp/rsync_failed.log
exit 1
fi
sleep  86400
done

猜你喜欢

转载自blog.csdn.net/xzm5708796/article/details/83823408
今日推荐