实战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
实战1:将/opt目录下所有的日志文件自动打包
[root@tzPC ~]# cat log.sh
#!/bin/bash
SRC_DIR=/var/log/
DES_DIR=/opt/backup/`date +%Y-%m-%d`
if
[ ! -d $DES_DIR ] ;then
mkdir -p $DES_DIR
fi
for i in `find $SRC_DIR -name "*.log"`
do
tar czf $i.tgz $i
done
mv /var/log/*.tgz $DES_DIR
ls -lh $DES_DIR
echo "The scripts exec end,Files tar successfully!"
实战2:找出192.168.1.1-10网段中,服务器已经关机的IP地址
[root@tzPC ~]# cat ping.sh
#!/bin/bash
i=1
for (( i=1;i<10;i++ ))
do
ping -c 3 192.168.1.$i &>/dev/null
if [ $? -ne 0 ] ;then
echo 192.168.1.$i is shutdown
fi
done
实战3:批量创建账号并生成随机密码
date +%s 表示1970年1月1日距今多少秒了
cut -c 1-8 取1-8个字符
[root@tzPC ~]# cat useradd2.sh
#!/bin/bash
for i in tz{1..10}
do
useradd $i
pass=`date +%s | md5sum | cut -c 1-8`
sleep 1
echo "$i:$pass" >> /tmp/passwd.log
echo $pass |passwd --stdin $i > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "create user is successfully!"
else
echo "create user is failed!"
fi
done
实战-升级系统中的java版本到1.8
安装jdk java运行环境并升级
查看java版本
java -version
安装rz
yum install -y lrzsz
sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
使用rz将本地jdk安装包上传到服务器
安装jdk
rpm -ivh jdk-8u161-linux-x64.rpm
查看jdk信息,如安装所在目录/usr/java
rpm -pql jdk-8u161-linux-x64.rpm
在文件的最后添加以下内容
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_161
export JAVA_BIN=/usr/java/jdk1.8.0_161/bin
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
使配置文件生效,这样就升级成功了
source /etc/profile