#!/bin/bash
function chk_base()
{
clear
date
echo "##########################"
echo "# #"
echo "# Centos7 Install Rsync #"
echo "# #"
echo "##########################"
for i in `seq -w 3 -1 0`
do
echo -ne "\b\b\b\b$i 秒"
sleep 1
done
echo ''
MYVER=`cat /etc/redhat-release |awk '{print $4}'| awk -F [.] '{print $1}'`
expr 1 + $MYVER &>/dev/null
if [ $? -ne 0 ];then
echo "请在 7 版本的系统里面运行该脚本....."
exit
fi
if [ $UID -ne 0 ]; then
echo "请用 root 用户运行该脚本...."
exit
fi
echo '网络检测中...................'
echo ' '
#检测有无外网
ping -c 1 114.114.114.114 > /dev/null 2>&1
if [ $? -eq 0 ];then
echo '网络正常,程序将继续运行。'
else
echo '正在进行第二次网络检测,请稍候.........'
sleep 1
curl www.baidu.com > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo '检测到网络连接有异常,请检查您的网络设置.....'
exit
else
echo ''
echo '网络正常,程序将继续运行.'
fi
fi
}
function rsync_install()
{
RSYNC_PS=`netstat -luntp |grep rsync|wc -l`
rpm -q rsync >/dev/null
if [ $? -eq 0 ];then
if [ $RSYNC_PS -ge 1 ];then
echo -e "\033[31m rsync is already run.\033[0m"
netstat -luntp |grep rsync
exit 1
else
#创建用户
useradd -M -s /sbin/nologin rsync &>/dev/null
#创建备份目录,并修改所属
mkdir -p /backup
chown -R rsync.rsync /backup
#修改配置文件
cat >/etc/rsyncd.conf<<EOF
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.password
log file = /var/log/rsyncd.log
[backup]
path = /backup
EOF
#创建认证文件,修改权限。
echo "rsync_backup:wxd....3" >/etc/rsync.password
chmod 600 /etc/rsync.password
#启动服务
systemctl start rsyncd
systemctl enable rsyncd >/dev/null 2>&1
netstat -luntp |grep rsync
echo -e "\033[31m Rsync server installation completed.\033[0m"
fi
else
#安装rsync
echo "Rsync installing....."
yum install -y rsync &>/dev/null
#创建用户
useradd -M -s /sbin/nologin rsync &>/dev/null
#创建备份目录,并修改所属
mkdir -p /backup
chown -R rsync.rsync /backup
#修改配置文件
cat >/etc/rsyncd.conf<<EOF
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.password
log file = /var/log/rsyncd.log
[backup]
path = /backup
EOF
#创建认证文件,修改权限。
echo "rsync_backup:wxd....3" >/etc/rsync.password
chmod 600 /etc/rsync.password
#启动服务
systemctl start rsyncd
systemctl enable rsyncd >/dev/null 2>&1
netstat -luntp |grep rsync
echo -e "\033[31m Rsync server installation completed.\033[0m"
fi
}
chk_base
rsync_install