2018最新linux云计算集群架构师-第一阶段-Linux操作系统入门到精通-第20章-实战-3个shell脚本实战

实战-3个shell脚本实战

实战1:编写脚本检查服务器运行状态

#新建文件
vim status.sh

#文件内容
#!/bin/bash
if [ $# -ge 1 ] ; then
    systemctl status $1 > /dev/null
    if [ $? -eq 0 ] ; then
        echo "$1 服务正在运行"
    else
        systemctl start $1
    fi
else
    echo "执行脚本的格式"
    echo "sh $0 服务名"
fi

实战2:根据学生的成绩判断 学生的优劣

#新建文件
vim  check_cj.sh

#文件内容  
#!/bin/bash
read  -p "请输入你的成绩  "   cj
if [ $cj   -ge  0  ]  &&  [  $cj  -le  59  ]  ;then
    echo   "补考"
elif  [  $cj  -ge  60 ]  &&  [  $cj  -le  70   ]   ;then
    echo  "良好"
elif [ $cj -ge 71 ] &&  [ $cj   -le  85 ]   ;then
    echo  "好"
elif [ $cj  -ge 86 ] &&  [   $cj  -le  100 ]   ;then
    echo  "优秀" 
else
    echo "成绩的有效范围是0-100之间"
fi

实战3:每周一晚上3:00 ,备份数据库服务器上webdb库的所有数据到系统的/mysqlbak目录里,使用系统日期做备份文件名。

#新建文件
vim   mysqlbak.sh

#文件内容
#!/bin/bash
baknamefile=`date +%Y-%m-%d`
bakdir=/mysqlbak
user=root
password=123
dbname=webdb
[ -e $bakdir ] || mkdir $bakdir
mysqldump -u$user -p$password --flush-logs $dbname>$bakdir/${baknamefile}-webdb.sql

因为mysql咱们还没有学,这里以/etc目录来做实验

#新建文件
vim etcbak.sh

#内容如下
#!/bin/bash
baknamefile=`date +%Y-%m-%d`
bakdir=/etcbak
srcdir=/etc
[ -e $bakdir ] || mkdir $bakdir
tar zcvf ${bakdir}/${baknamefile}-etc.tar.gz /etc/
echo "========================"
ls -lh ${bakdir}/${baknamefile}-etc.tar.gz
echo "back etc is ok!"

#赋予权限
chmod +x  etcbak.sh

#打开 crontab
crontab  -e

#输入内容
0 3 * * *  /root/etcbak.sh  2>&1 > /dev/null

  

posted on 2019-12-04 20:39  herisson_pan  阅读(9)  评论(0)    收藏  举报

导航