Shell(一) 入门到复杂 自己做的各种脚本实例与解释

Shell变量详解

什么是变量?为什么要使用变量?

各种shell环境中都使用到了“变量”的概念,shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设置或系统环境的变化而相应的变化。通过使用变量,shell程序可以提供更加便捷灵活的功能,实用性和灵活性更强。

常见的shell变量类型包括自定义变量,环境变量,预定义变量,位置变量。

 

202409636.png

最简单的一个 开机登录提示脚本

202511801.png

202525478.png

202526490.png

202642971.png

 

备份脚本

202703982.png

202825463.png

 

Mysql 备份脚本

202841398.png

202909525.png

 

 

 

202924621.png

203019777.png

203126947.png

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
#mysql 数据库简单备份
#1.定义数据连接目标库信息
MY_USER="users"
MY_PASS="abc123"
MY_HOST="192.168.129.2"
MY_denglu="-u $MY_USER -p$MY_PASS -h $MY_HOST"
MY_DB1="test"
#2.定义备份时目录,时间,文件名
BF_DIR="/opt/mysql_bak"
BF_CMD="/usr/local/mysql/bin/mysqldump/"
BF_TIME='date +%Y%m%d-%H%M'
NAME="$MY_DB1-$BF_TIME"
#导出脚本 进行压缩
$BF_CMD $MY_denglu --databases $MY_DB1 > $BF_DIR/test.sql

 

203103496.png

203238890.png

 

vsftp脚本

203303759.png

203338235.png

203415880.png

查看脚本

 

 

最关键的一个

203443933.png

 

203511110.png

203543404.png

203603701.png

 

203620273.png

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
  #监控磁盘,内存,CPU使用情况
  3 DUG=$(df -h|grep "/$"|awk '{print $5}'|awk -F%'{print $1}')   //切割出根系统占用情况
  4 IDLE=$(mpstat|tail-1|awk '{print $11}'|awk -F. '{print $1}')     //切割出CPU使用情况
  5 CUG=`expr100- $IDLE`
  6 USED=$(free|grep"cache:"|awk '{print $3}')                // 切割出内存使用情况
  7 TOTAL=$(free|grep"Mem:"|awk'{print $2}')
  8 MUG=`expr $USED \*100 / $TOTAL`
  #磁盘占用>90% CPU使用>80% 内存使用>90% 告警邮件通过mail发送给管理员
 10 alert="/tmp/"alert.txt"         变量
 11if [ -e $alert ]                      如果这个 文件存在则
 12 then
 13    mail -s"Host Alert"monitor@benet.com 发送mail给管理员
 14 else
 15    touch$alert    如果不存在则重新建立文件
 16 fi
 17 if[$DUG-gt 90]             如果系统磁盘占用空间大于90% 那么就打印 DUG-ge90  追加到 alert文件里
 18 then
 19    echo "DUG -ge90">>$alert
 20 fi
 21 if[ $CUG-gt 80 ]               如果CPU占用空间大于80% 那么就打印 CUG-ge80  追加到 alert文件里
 22 then
 23    echo"CUG -ge80">>$alert
 24 fi
25 if [ $MUG -gt 80 ]     如果内存占用空间大于80% 那么就打印 MUG-ge80  追加到 alert文件里
26 then
27     echo "MUG -ge80" >> $alert
28 fi

 

如需转载,请注明出处,原文地址:http://blog.51cto.com/chenhao6/1230337

posted @ 2018-01-04 10:47  雨中看雨yyy  阅读(1027)  评论(0编辑  收藏  举报