脚本如下:
#! /bin/bash#判断是否下载安装xinetd服务 rpm -qa |grep xinetd >/dev/null#如果没有安装if [[ $? == 1 ]]thenyum install xinetd -yif [[ $? == 1 ]];thenecho "xinetd下载失败!请查看网络是否畅通。"exitfiecho "xinetd安装成功!"fi#查看rsync是否安装rpm -qa |grep rsync >/dev/null#如果没有安装if [[ $? == 1 ]]thenyum install rsync -yif [[ $? == 1 ]];thenecho "rsync下载失败!"exitfiecho "rsync安装成功!"fi#安装之后进行配置操作touch /etc/rsyncd.confcat >>/etc/rsyncd.conf<<EOF#rsync_config#created by HQ at 2017##rsyncd.conf start##uid = rsyncgid = rsyncuse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.logignore errorsread only = falselist = false#hosts allow = 172.16.1.0/24#hosts deny = 0.0.0.0/32auth users = rsync_backupsecrets file = /etc/rsync.password[backup]comment = "backup dir by oldboy"path = /backupEOF #创建密码文件并授权600touch /etc/rsync.passwordecho 'rsync_backup:oldboy123'>/etc/rsync.passwordchmod 600 /etc/rsync.password#创建rsync用户id rsync >/dev/nullif [[ $? == 1 ]];thenuseradd -M -s /sbin/nologin rsyncelseecho "用户已经存在!"fi#创建备份目录并赋予rsync属主和属组mkdir -p /backupchown -R rsync.rsync /backup#配置守护进程#查看xinetd.d里面是否有rsyncif [[ -f /etc/xinetd.d/rsync ]];thensed -ri 's@(.*disable.*=).*@\1 no@g' /etc/xinetd.d/rsyncelseecho '没有/etc/xinetd.d/rsync文件!'exitfi#启动守护进程/etc/init.d/xinetd start >/dev/null echo '已经启动xinetd!'#检查是否开机自启动chk=`chkconfig |grep xinetd|awk 'NR==1{print $5}'`if [[ $chk == "3:on" ]]thenecho "已经加入开机启动项!"elsechkconfig xinetd onif [[ $? == 0 ]]thenecho "已经加入开机启动项!"elseecho "添加开机自启动失败!"fifi#打印状态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 "********************************************"
测试结果:
分享一个自动化配置xinetd和rsync的脚本
原文地址:http://blog.51cto.com/songxiao/2045729