分享一个自动化配置xinetd和rsync的脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分享一个自动化配置xinetd和rsync的脚本相关的知识,希望对你有一定的参考价值。

安装配置xinetd超级守护进程和rsync是非常简单的。在学习之余,我写了一个自动化部署的脚本,经测试可以使用,已经做好基础优化,虽说简单,但还是想记录下来,供大家一起参考,期待各位能帮我指点一二。

脚本如下:

#! /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 '[email protected](.*disable.*=).*@\1 [email protected]' /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 "********************************************"

测试结果:

技术分享图片

以上是关于分享一个自动化配置xinetd和rsync的脚本的主要内容,如果未能解决你的问题,请参考以下文章

rsync配置

rsync

rsync的配置部署

rsync实现定时同步

Linux下实现文件实时同步(rsync命令+rsync作为服务+xinetd托管rsync)

rsync服务端和客户端配置自动化配置脚本