shell(一) 入门到复杂 自己做的各种脚本实例与解释
2013-07-23 14:44
330 查看
shell(一) 入门到复杂 自己做的各种脚本实例与解释2013-06-26 21:01:42Shell变量详解
什么是变量?为什么要使用变量?各种shell环境中都使用到了“变量”的概念,shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设置或系统环境的变化而相应的变化。通过使用变量,shell程序可以提供更加便捷灵活的功能,实用性和灵活性更强。常见的shell变量类型包括自定义变量,环境变量,预定义变量,位置变量。
最简单的一个 开机登录提示脚本
备份脚本
Mysql 备份脚本
#!/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 #!/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
本文出自 “▁▁技术控ヽ” 博客,请务必保留此出处/article/4258349.html
什么是变量?为什么要使用变量?各种shell环境中都使用到了“变量”的概念,shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设置或系统环境的变化而相应的变化。通过使用变量,shell程序可以提供更加便捷灵活的功能,实用性和灵活性更强。常见的shell变量类型包括自定义变量,环境变量,预定义变量,位置变量。
最简单的一个 开机登录提示脚本
备份脚本
Mysql 备份脚本
#!/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 #!/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
本文出自 “▁▁技术控ヽ” 博客,请务必保留此出处/article/4258349.html
相关文章推荐
- Shell(二)入门到复杂 脚本实例(计算器)
- JSP自己定义标签入门实例具体解释
- Linux常用命令全集 linux_Shell(脚本)编程入门_实例讲解详解
- Unix/Linux Shell脚本入门实例[00原创]
- shell脚本 (实例演示--自己试验下)
- Shell脚本入门实例
- 简单的shell脚本实例入门
- shell脚本---之入门
- shell 脚本入门系统教程
- shell脚本进阶 详解及其实例
- 新人入门linux环境搭建及shell文件运行测试实例
- shell脚本一键安装php7的实例(推荐)
- 嵌入式linux入门之shell 编程中各种括号的使用
- Linux bash shell脚本语法入门
- Linux入门第五天——shell脚本入门(下)基础语法之调试debug
- [转载]Shell脚本初学者的入门知识
- Linux: shell 脚本入门
- Beginning Linux Programming----shell脚本程序实例
- 5个Shell脚本编程入门练习例子
- Shell脚本中的位置变量参数(特殊字符)实例讲解