首要准备:2台linux主机。主从ip设置完毕。我用的2台centos虚拟机 版本6.9(已完成网卡配置)
步骤:1.检查主要有没有安装rsync:rpm -qa|grep rsync
没有安装可用:yum install rsync -y进行安装
服务器端的配置:
1.配置 /etc/rsyncd.conf
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
secrets file = /etc/rsyncd.secrets
motd file = /etc/rsyncd.motd
[home_www] 主要模块
path = /home/DemoRoot/Uploads/ 同步的路径
comment = "home_www"
uid = root
gid = root
port=873
use chroot = no
read only = no
list = no
max connections = 200
timeout = 600
auth users = root 连接的用户名
hosts allow = 192.168.56.102 客户的的ip地址
hosts deny = 192.168.21.254
2.配置/etc/rsyncd.secrets
root:gecailong //你的用户名和密码
同时修改文件的权限:chmod 600 /etc/rsyncd.secrets
3.rsync服务的启动
修改/etc/xinetd.d/rsync,改为no
disable = no
service xinetd restart 启动rsync服务
注意!!如果没有xinet服务请安装xinet
可查看服务是否启动成功 netstat -an | grep 873
2 客户端的连接:
配置/etc/passwd.txt
gecailong
chmod 600 /etc/passwd.txt
确认873端口开启,xinet启动的情况下执行命令:
rsync -avzP --delete --password-file=/etc/passwd.txt [email protected]::home_www /home/DemoRoot/test/
从103同步数据到本机test目录
常用参数:
-v, --verbose 详细模式输出。
-q, --quiet 精简输出模式。
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件
-H, --hard-links 保留硬链结。
-p, --perms 保持文件权限。
-o, --owner 保持文件属主信息。
-g, --group 保持文件属组信息。
-D, --devices 保持设备文件信息。
-t, --times 保持文件时间信息。
--delete 删除那些DST中SRC没有的文件。
--password-file=FILE 从FILE中得到密码。
--progress 在传输时现实传输过程。
DEST:客户端路径
SRC:服务端路径模块
不同的同步方式解析:http://man.linuxde.net/rsync
Rsync定时同步脚本设置:
step1:
创建同步脚本和密码文件
#mkdir /etc/cron.daily.rsync
#cd /etc/cron.daily.rsync
#touch rhel4home.sh rhel4opt.sh
#chmod 755 /etc/cron.daily.rsync/*.sh
#mkdir /etc/rsyncd/
#touch /etc/rsyncd/rsyncrhel4root.secrets
#touch /etc/rsyncd/rsyncrhel4easylife.secrets
#chmod 600 /etc/rsyncd/rsync.*
step2:
我们编辑rhel4home.sh,内容是如下的:
#!/bin/sh
#backup 192.168.145.5:/home
/usr/bin/rsync -avzP --password-file=/etc/rsyncd/rsyncrhel4root.password [email protected]::rhel4home /home/rhel4homebak/$(date +'%m-%d-%y')
我们编辑 rhel4opt.sh ,内容是:
#!/bin/sh
#backup 192.168.145.5:/opt
/usr/bin/rsync -avzP --password-file=/etc/rsyncd/rsyncrhel4easylife.secrets [email protected]::rhel4opt /home/rhel4hoptbak/$(date +'%m-%d-%y')
step3:
#crontab -e
加入下面的内容:
# Run daily cron jobs at 4:10 every day backup rhel4 data:
10 4 * * * /usr/bin/run-parts /etc/cron.daily.rsync 1> /dev/null
注:第一行是注释,是说明内容,这样能自己记住。
第二行表示在每天早上4点10分的时候,运行 /etc/cron.daily.rsync 下的可执行脚本任务;
step4:
配置好后,要重启crond 服务器;
# killall crond 注:杀死crond 服务器的进程;
# ps aux |grep crond 注:查看一下是否被杀死;
# /usr/sbin/crond 注:启动 crond 服务器;
# ps aux |grep crond 注:查看一下是否启动了?
root 3815 0.0 0.0 1860 664 ? S 14:44 0:00 /usr/sbin/crond
root 3819 0.0 0.0 2188 808 pts/1 S+ 14:45 0:00 grep crond