首要准备: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