实战1:检查服务器运行状态脚本
[root@tzPC ~]# cat check.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:根据学生成绩判断优良中差
[root@tzPC ~]# cat 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@tzPC ~]# date +%Y-%m-%d 2020-07-16 [root@tzPC ~]# date +%F 2020-07-16
脚本
[root@tzPc~]# 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
备份/etc目录
[root@tzPC~]# 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 -e
将错误输出到标准输出然后倒入空洞文件
0 3 * * * /home/etcbak.sh 2>&1 >/dev/null