1、当硬盘空间不足15%时,循环删除最早的日志文件(ELK):

#!/bin/bash
for((i=20;i>=5;i-=1))
do
code=`df /dev/mapper/ElkGroup-lv_elk | grep -c -E \(8[5-9]\%\)\|\(100\%\)`
day=`date -d -"$i days" +%m.%d`
if [ $code -gt 0 ]
then
curl -XDELETE http://127.0.00.1:9200/*.$day
fi
done

2、当硬盘空间小于70%时,自动清理最早的日志文件(Nginx):

#!/bin/bash
for((i=42;i>=7;i-=1))
do
code=`df /dev/vdb | grep -c -E \([789][0-9]\%\)\|\(100\%\)`
day=`date -d -"$i days" +%Y-%m-%d`
if [ $code -gt 0 ]
then
rm -rf /home/nginx/*/access_$day.log
rm -rf /home/nginx/*/error_$day.log
fi
done

3、读取Redis表中的值记录到日志中,并将改值置0

#!/bin/bash
for((i=0;i<=1;i+=1))
do
a=(61.189.35.181
59.46.90.82)
echo $(date +%Y%m%d%H%M) $(/usr/local/redis/bin/redis-cli -h 172.16.1.166 -a meTN3xF2yzsbXrRk -n 1 hget ${a[i]} D) >> /usr/local/script/data/${a[i]}.log
/usr/local/redis/bin/redis-cli -h 172.16.1.166 -a meTN3xF2yzsbXrRk -n 1 hset ${a[i]} D 0 > /dev/null 2>&1
done

4、删除同一个项目旧的文件夹,保留最新的那个。

#!/bin/bash
for ((i=5;i>=1;i--))
do
NDPATH="/data/dist/"
PRJ="global-v4.dev"
NUM=`ls -lt $NDPATH | grep "$PRJ-*" | wc -l`
# echo $NUM
if [ $NUM -gt 1 ];then
cd $NDPATH
ls -lt $NDPATH | grep "$PRJ-*" | tail -n 1 | xargs rm -rf
fi
done

5、向脚本传递参数:

# ./inputvirible.sh 1 5 9

#!/bin/bash
echo "this shell name is : $0"
echo "the first varible is $1"
echo "the second varible is $2"
echo "the third varible is $3"

[THE END]

Linux脚本点滴的更多相关文章

  1. Linux 脚本点滴知识积累

    1.以openwrt中的/etc/hotplug.d/button/00-button为例 . /lib/functions.sh do_button () { local button   ---- ...

  2. Linux 脚本编写基础

    txt去重    http://man.linuxde.net/sort Linux 脚本编写基础 http://www.cnblogs.com/linn/archive/2007/03/05/664 ...

  3. 【转】【整理】将Linux脚本中的正常输出,警告,错误等信息输出到文件中

     本文来自:http://blog.csdn.net/woshinia/article/details/18040063   很早以前  编译的时候 就在用 2>&1,但是一直没有生成一 ...

  4. linux脚本编程(shell)浅介 (转载)

    linux脚本(shell)编程 啊,昨天上网看到一篇讲 linux/unix shell 的文章,想想自己最后写这东西也是一年前的事了,想想都快忘光了. 还是整理一下,做一次回顾,以后说不定还用得上 ...

  5. linux脚本编程技术

    linux脚本编程技术 一.什么是脚本 脚本是一个包含一系列命令序列的可执行(777)文本文件.当运行这个脚本文件时,文件中包含的命令序列将得到自动执行. 二.脚本编程 #!/bin/sh 首行固定格 ...

  6. Linux脚本执行过程重定向

    Linux脚本执行过程重定向 一.bash调试脚本,并将执行过程重定向到指定文件 bash –x  shell.sh 2>&1 | tee shell.log

  7. linux 脚本编写基础(一)

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...

  8. Linux内存点滴 用户进程内存空间

    Linux内存点滴 用户进程内存空间 经常使用top命令了解进程信息,其中包括内存方面的信息.命令top帮助文档是这么解释各个字段的. VIRT, Virtual Image (kb) RES, Re ...

  9. linux脚本初体验

    前言 第一次写linux脚本,有点紧张. 1. 写一个寻找特定用户的脚本文件? #! /bin/sh who | grep $1 其中脚本第一行用来告诉kernel去使用/bin/sh来解释这个脚本: ...

随机推荐

  1. Day 4-5 序列化 json & pickle &shelve

    序列化: 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 反序列化: 把字符转成内存里的数据类型. 用于序列化的两个模块.他 ...

  2. checkbox选中事件的正确写法

    判断选中CHECKBOX事件  网上各种扯淡 搞死我了..加上总觉得smarty引擎和JSJQ有很多冲突.. $("#id").is(":checked");

  3. django rest framework批量上传图片及导入字段

    一.项目需求 批量上传图片,然后批量导入(使用excel)每个图片对应的属性(属性共十个,即对应十个字段,其中外键三个). 二.问题 一次可能上传成百上千张图片和对应字段,原来数据库的设计我将图片和对 ...

  4. WPF一步步实现完全无边框自定义Window(附源码)

    在我们设计一个软件的时候,有很多时候我们需要按照美工的设计来重新设计整个版面,这当然包括主窗体,因为WPF为我们提供了强大的模板的特性,这就为我们自定义各种空间提供了可能性,这篇博客主要用来介绍如何自 ...

  5. PreparedStement 用户登录!

    一.准备工作 在qy66数据库下,新建一个denglu表.添加 name password  . package cn.zhouzhou; import java.sql.Connection; im ...

  6. mvc学习过程碰到问题

    Fluent API配置 单例模式+Autofac 批量注入

  7. react 粗略使用

    1.首先在index.html页面上写好dom,给他一个id让他引用js里的react. 2.index.js里面的代码就是三步走. 第一步:引用react,各种引用依赖. 第二步:创建dom,但它是 ...

  8. 包装类接受string 会自动将数字类型string转换成对应得包装类型

  9. HUST 1555 数学作业

    参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6394892.html 1555 - A Math Homework 时间限制:1秒 内存限制:12 ...

  10. IDM下载神器

    破解版IDM 个人评价:基本上能满足日常下载需求,除bt.磁力外. 不管是在线视频, 还是音乐, 电子书, 统统都能下载, 还附有爬虫功能~~ 直接附链接: 百度云链接: https://pan.ba ...