家都是文明人,尤其是做运维的,那叫一个斯文啊.怎么能耍流氓呢?赶紧看看,编写 SHELL 脚本如何能够不耍流氓. 下面的案例,我们以 MySQL 数据库备份 SHELL 脚本的案例来进行阐述. 不记录日志的 SHELL 脚本就是耍流氓! 我们经常在工作中会遇到一个苦恼的事情,一个 SHELL 脚本到底干了什么,什么时候开始执行,什么时候结束的.尤其是数据库备份,我们想知道我们的 MySQL 数据库备份时间.所以给脚本加日志显得尤为重要.那么我们的脚本应该有一个日志的函数,专门用于记录日志: 上面…
前言 大家都是文明人,尤其是做运维的,那叫一个斯文啊.怎么能耍流氓呢?赶紧看看,编写SHELL脚本如何能够不耍流氓. 下面的案例,我们以MySQL数据库备份SHELL脚本的案例来进行阐述: 不记录日志的SHELL脚本就是耍流氓! 我们经常在工作中会遇到一个苦恼的事情,一个SHELL脚本到底干了什么,什么时候开始执行,什么时候结束的.尤其是数据库备份,我们想知道我们的MySQL数据库备份时间.所以给脚本加日志显得尤为重要.那么我们的脚本应该有一个日志的函数,专门用于记录日志: 上面的脚本我编写了一…
CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与print效果相同") 在 Terminal 结尾反斜杠,当反斜杠用于一行的最后一个字符时,shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用. 2.区别 "命令输出" 与 "命令引用" 以及 POSIX(可移植操作系统接口) sh -c &qu…
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU #Sun Jul :: CST PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/wl/bin export PATH TERM=linux export TERM CpuResult=$(top -bn |…
一.if语句的使用 1)语法规则 if [条件] then 指令 fi 或 if [条件];then 指令 fi 提示:分号相当于命令换行,上面两种语法等同特殊写法:if[ -f"$file1" ];then echo 1;fi 相当于[ -f"$file1" ] && echo 1 2)多分支结构语法 多分支结构:语法 if 条件 then 指令集 elif 条件 #多个 then 指令集 else 指令集 fi 3)比较大小的案例 案例一,交互式…
一.bash漏洞 1)bash漏洞 bash漏洞是控制Linux计算机命令提示符的软件中存在的漏洞. bash是一个为GNU计划编写的Unix shell.它的名字是一系列缩写:Bourne-Again SHell ,Bourne shell是一个早期的重要shell, 由史蒂夫·伯恩在1978年前后编写,并同Version 7 Unix一起发布. 网络安全专家警告称,开源软件Linux中一个频繁使用的片段"Bash",发现存在安全漏洞, 其对计算机用户造成的威胁可能要超过2014年4…
1.bash中的算术运算 let运算符 [root@:vg_adn_tidbCkhsTest ~/tidb-bench/sysbench]#echo $i [root@:vg_adn_tidbCkhsTest ~/tidb-bench/sysbench]#let i3=$i1+$i2 [root@:vg_adn_tidbCkhsTest ~/tidb-bench/sysbench]#echo $i3 $[expression] [root@:vg_adn_tidbCkhsTest ~/tidb-…
1.创建一个日志清理脚本 #/bin/bash for i in `find /root/.pm2/logs -name "*.log"` do cat /dev/null > $i done 将该脚本添加至定时任务,每隔30分钟执行一次 */30 * * * * /usr/bin/sh /root/.pm2/logs/cleanlog.sh >/dev/null 2>&1 # 查看/opt目录下,所有[非当天]的日志文件及大小 find /opt -name…
一.压缩指定目录下的文件并删除原文件 #!/bin/bashZIP_DAY=7 function zip { local dir=$1 if [ -d $dir ];then local file_num=`ls -l $dir |grep "^d"|wc -l` if [ $file_num -ge $ZIP_DAY ];then local tar_name=`ls -lt $dir | grep -v *.tar.gz | grep -v total | head -n 1 |a…
一.系统指标巡检脚本 #!/bin/bash menu(){ cat <<EOF +---------------------------------------------+ | 日常巡检脚本 | | 1.查看磁盘使用率 | | 2.查看内存使用率 | | 3.查看系统负载 | | 4.统计系统连接数 | | 5.统计系统进程数 | | 6.统计当前磁盘分区信息 | | 7.按q退出 | | 8.按h帮助 | +----------------------------------------…