在it lab上看到一篇文章:《Linux rsync同步由手动到自动》http://linux.chinaitlab.com/administer/830847.html,依葫芦画瓢,做了个配置脚本
#!/bin/bash
#以下先配置服务器端
#检查是否已安装rsync
rsexist=`rpm -qa | grep rsync`
[ -z $rsexist ] && yum -y install rsync
#生成rsync的配置文件
cat <<'EOF' >rsynccd.conf
uid = nobody
gid = nobody
max connections = 200
timeout = 600
use chroot = no
read only = yes
pid file=/var/run/rsyncd.pid
host_allow =192.168.2.106 #客户端的IP地址写在这里
#syslog facility = local7
#log file=/var/log/rsyncd.log
#rsync config
#The 'standard' things
[rsync_gmmold] #定义同步的路径(客户端用这个关键字链接)
path = /home #需要同步的路径
comment = gmmold #这个暂不知道
EOF
#启动服务 并加入开机启动
/usr/bin/rsync --daemon && echo "/usr/bin/rsync --daemon" >> /etc/rc.local
#检查rsync是否启动
rstart=`ps -ef | grep rsync | grep daemon`
[ -z $rstart ] && echo "rsync未启动"
#停止服务
kill –HUP `cat /var/run/rsyncd.pid `
#启动rsync服务
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
客户端
#!/bin/bash
#以下先配置客户端
#检查是否已安装rsync
rsexist=`rpm -qa | grep rsync`
[ -z $rsexist ] && yum -y install rsync
#在tmp下建一个b.sh文件
cat << CLIRNTSH > /tmp/b.sh
#!/bin/bash
#把服务器的/home下的文件同步备份到/home/kaka/bak/
rsync -ave ssh root@192.168.2.104:/home/ /home/kaka/bak/
CLIRNTSH
#每一分钟运行执行一次同步
echo "* * * * * sh /tmp/b.sh" > /var/spool/cron/root
#允许rsync 服务器端口通过
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
#启动rsync服务
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf