#!/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