Shell(一) 入门到复杂 自己做的各种脚本实例与解释
Shell变量详解
什么是变量?为什么要使用变量?
各种shell环境中都使用到了“变量”的概念,shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设置或系统环境的变化而相应的变化。通过使用变量,shell程序可以提供更加便捷灵活的功能,实用性和灵活性更强。
常见的shell变量类型包括自定义变量,环境变量,预定义变量,位置变量。
最简单的一个 开机登录提示脚本
备份脚本
Mysql 备份脚本
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 |
vsftp脚本
查看脚本
最关键的一个
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
|
1 #!/bin/bash 2 #监控磁盘,内存,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` 9 #磁盘占用>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