实战 1:编写脚本检查服务器运行状态
[root@tiehao64 ~]# vim status.sh
#!/bin/bash
if [ $# -ge 1 ] ;then
systemctl status $1 > /dev/null
if [ $? -eq 0 ] ;then
echo "$1 服务正常运行"
else
systemctl start $1
echo "$1 服务没有运行,已经尝试启动该服务"
fi
else
echo "执行脚本的格式"
echo "sh $0 服务名"
fi
[root@tiehao64 ~]# systemctl stop rsyslog
[root@tiehao64 ~]# sh status.sh rsyslog
rsyslog 服务没有运行,已经尝试启动该服务
[root@tiehao64 ~]# sh status.sh rsyslog
rsyslog 服务正常运行
实战 2: 根据学生的成绩判断学生的优劣
[root@tiehao63 ~]# 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 目录里,使用系统日期做备份文件名。
[root@tiehao63 ~]# vim mysqlbak.sh
#!/bin/bash
baknamefile=`date +%Y-%m-%d`
bakdir=/mysqlbak
user=root
password=123
dbname=webdb
[ -d $bakdir ] || mkdir $bakdir
mysqldump -u$user -p$password --flush-logs $dbname > $bakdir/${baknamefile}-webdb.sql
备份/etc 目录的实验:
[root@tiehao63 ~]# vim etcbak.sh
#!/bin/bash
baknamefile=`date +%Y-%m-%d`
bakdir=/etcbak
srcdir=/etc
[ -d $bakdir ] || mkdir $bakdir
tar czvf ${bakdir}/${baknamefile}-etc.tar.gz ${srcdir}
echo "===================================="
ls -lh ${bakdir}/${baknamefile}-etc.tar.gz
echo "back etc is ok!"
[root@tiehao63 ~]# chmod +x etcbak.sh
[root@tiehao63 ~]# ./etcbak.sh
[root@tiehao63 ~]# crontab -e