一、压缩指定目录下的文件并删除原文件

#!/bin/bash
ZIP_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 |awk '{print $9}'`
cd $dir
tar -czvPf $tar_name.tar.gz * --exclude=*.tar.gz >/dev/null 2>&1
if [[ $? -eq 0 ]];then
find $backup_dir/* -type d -exec rm -rf {} \; >/dev/null 2>&1
else
echo "失败"
fi
fi
fi
}

二、过滤文件夹下不需要的文件

#!/bin/bash
filter_array=()
all=`ls $dir | grep .log` //目录下所有的文件
gv=`ls -lt $dir | grep .log | awk '{print $9}' | head -5` //留前五条记录
function filter_array {
declare -a result_list
t=0
flag=0
all_array=(${all//\ / })
gv_array=(${gv//\ / })
for a in ${all_array[@]}
do
for g in ${gv_array[@]}
do
if [ "$a" == "$g" ]; then
flag=1
fi
done
if [ $flag -eq 0 ]; then
result_list[t]=$a
t=$((t+1))
else
flag=0
fi
done
filter_array=${result_list[*]}
}

三、远程服务器执行命令

#!/bin/bash
read -p "输入要连接的远程服务器IP:" IP
ssh root@$IP > /dev/null 2>&1 <<EOF
cd /usr/local
ls
exit
EOF

四、centos 7 流量转发

#!/bin/bash
function add {
firewall-cmd --zone=trusted --add-forward-port=port="本地端口":proto=tcp:toaddr= "目标主机ip":toport="目标主机端口" --permanent
firewall-cmd --reload
firewall-cmd --zone=trusted --list-all
} function remove {
firewall-cmd --zone=trusted --remove-forward-port=port="本地端口":proto=tcp:toaddr="目标ip":toport="目标主机端口" --permanent
firewall-cmd --reload
firewall-cmd --zone=trusted --list-all
}

五、循环检测进程是否被杀

#!/bin/bash
times=10
while(( "$times > 0" ))
do
pid=`ps aux | grep "nginx" | awk '{print $2}'`
if [[ -z $pid ]] ; then
return 0
fi
sleep 1
let "times--"
done

运维常用shell脚本二(压缩文件、过滤不需要的文件、检测进程)的更多相关文章

  1. 运维常用shell脚本一(系统指标巡检、自动创建用户、跳板机)

    一.系统指标巡检脚本 #!/bin/bash menu(){ cat <<EOF +---------------------------------------------+ | 日常巡 ...

  2. 运维常用shell脚本之日志清理

    1.创建一个日志清理脚本 #/bin/bash for i in `find /root/.pm2/logs -name "*.log"` do cat /dev/null > ...

  3. CentOS 下运维自动化 Shell 脚本之 expect

    CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...

  4. 转 如何不耍流氓的做运维之——SHELL脚本

    家都是文明人,尤其是做运维的,那叫一个斯文啊.怎么能耍流氓呢?赶紧看看,编写 SHELL 脚本如何能够不耍流氓. 下面的案例,我们以 MySQL 数据库备份 SHELL 脚本的案例来进行阐述. 不记录 ...

  5. Linux运维之shell脚本进阶篇

    一.if语句的使用 1)语法规则 if [条件] then 指令 fi 或 if [条件];then 指令 fi 提示:分号相当于命令换行,上面两种语法等同特殊写法:if[ -f"$file ...

  6. Linux运维之shell脚本

    一.bash漏洞 1)bash漏洞 bash漏洞是控制Linux计算机命令提示符的软件中存在的漏洞. bash是一个为GNU计划编写的Unix shell.它的名字是一系列缩写:Bourne-Agai ...

  7. 如何不耍流氓的做运维之-SHELL脚本

    前言 大家都是文明人,尤其是做运维的,那叫一个斯文啊.怎么能耍流氓呢?赶紧看看,编写SHELL脚本如何能够不耍流氓. 下面的案例,我们以MySQL数据库备份SHELL脚本的案例来进行阐述: 不记录日志 ...

  8. linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  9. Linux运维之shell脚本基础知识

    1.bash中的算术运算 let运算符 [root@:vg_adn_tidbCkhsTest ~/tidb-bench/sysbench]#echo $i [root@:vg_adn_tidbCkhs ...

随机推荐

  1. .NET Request对象介绍

    Request对象用于检索从浏览器向服务器所发送的请求信息.它提供对当前页请求的访问,包括标题,Cookie,客户端证书等等.它也与HTTP协议的请求消息对应 Request常用的属性 属性 具体内容 ...

  2. BUAA_OO_2020_第二单元总结

    BUAA_OO_2020_第二单元总结 第一次 设计策略 本次作业采用生产者.消费者模式设计,大致框架如图所示: 生产者:输入线程 消费者:电梯线程 托盘:Dispatcher调度器 线程安全方面,调 ...

  3. jQuery入门看这一篇就够了

    一.选择器 1.基本 名称 用法 描述 #id $("#myDiv"); 根据给定的ID匹配一个元素 element $("div"); 根据给定的元素标签名匹 ...

  4. 由电脑专卖系统引发的Java设计模式:访问者模式

    目录 定义 意图 解决问题 何时使用 优缺点 结构 电脑专卖系统 定义 访问者模式是对象的行为型模式,它的目的是封装一些施加于某些数据结构元素之上的操作,一旦这些操作需要修改的话,接收这个操作的数据结 ...

  5. Message Decoding UVA - 213

     Some message encoding schemes require that an encoded message be sent in two parts. The fifirst par ...

  6. Day14_77_反射( newInstance() 方法)

    newInstance() 方法 * 通过反射获取class类型的对象之后,可以通过该对象创建所对应的class类型的对象 * newInstance() 用来创建Class获取的类所表示的一个新实例 ...

  7. 日志功能 - 使用 conf 配置文件

    配置文件:Logger.conf 工具类:LogUtil.py 测试类:testDemo.py 执行效果 配置文件:Logger.conf 定义日志的类型.级别.格式等信息. [loggers] # ...

  8. 案例分析——Who is the king of handwriting notes?

    案例分析--Who is the king of handwriting notes? 项目 内容 这个作业属于那个课程 2021春季学期软件工程(罗杰.任健) 这个作业的要求在哪里 案例分析 我在这 ...

  9. 百度sitemap.xml

    <?xml version="1.0" encoding="UTF-8" ?> <urlset xmlns="http://www. ...

  10. 【SpringBoot】SpringBoot集成jasypt数据库密码加密

    一.为什么要使用jasypt库? 目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文 ...