脚本如下:
#! /bin/bash
#判断是否下载安装xinetd服务
rpm -qa |grep xinetd >/dev/null
#如果没有安装
if [[ $? == 1 ]]
then
yum install xinetd -y
if [[ $? == 1 ]];then
echo "xinetd下载失败!请查看网络是否畅通。"
exit
fi
echo "xinetd安装成功!"
fi
#查看rsync是否安装
rpm -qa |grep rsync >/dev/null
#如果没有安装
if [[ $? == 1 ]]
then
yum install rsync -y
if [[ $? == 1 ]];then
echo "rsync下载失败!"
exit
fi
echo "rsync安装成功!"
fi
#安装之后进行配置操作
touch /etc/rsyncd.conf
cat >>/etc/rsyncd.conf<<EOF
#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
#hosts allow = 172.16.1.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
EOF
#创建密码文件并授权600
touch /etc/rsync.password
echo 'rsync_backup:oldboy123'>/etc/rsync.password
chmod 600 /etc/rsync.password
#创建rsync用户
id rsync >/dev/null
if [[ $? == 1 ]];then
useradd -M -s /sbin/nologin rsync
else
echo "用户已经存在!"
fi
#创建备份目录并赋予rsync属主和属组
mkdir -p /backup
chown -R rsync.rsync /backup
#配置守护进程
#查看xinetd.d里面是否有rsync
if [[ -f /etc/xinetd.d/rsync ]];then
sed -ri 's@(.*disable.*=).*@\1 no@g' /etc/xinetd.d/rsync
else
echo '没有/etc/xinetd.d/rsync文件!'
exit
fi
#启动守护进程
/etc/init.d/xinetd start >/dev/null
echo '已经启动xinetd!'
#检查是否开机自启动
chk=`chkconfig |grep xinetd|awk 'NR==1{print $5}'`
if [[ $chk == "3:on" ]]
then
echo "已经加入开机启动项!"
else
chkconfig xinetd on
if [[ $? == 0 ]]
then
echo "已经加入开机启动项!"
else
echo "添加开机自启动失败!"
fi
fi
#打印状态
netstat -lntup|grep xinetd
#打印显示账号密码
echo "********************************************"
echo -e "\033[42;37m rsync备份目录为:/backup \033[0m"
echo -e "\033[43;37m rsync远程连接用户名:rsync_backup \033[0m"
echo -e "\033[44;37m rsync远程连接用户密码:oldboy123 \033[0m"
echo "********************************************"测试结果:

原文:http://blog.51cto.com/songxiao/2045729