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. java中的标记接口(标签接口)

    Java中的标记接口(Marker Interface),又称标签接口(Tag Interface),具体是不包含任何方法的接口.在Java中很容易找到标记接口的例子,比如JDK中的Serialzab ...

  2. 下拉框插件select2的使用

    它的优点有: 样式还算好看,支持多选,支持索搜 下面来介绍下select2的用法 1.最简单的用法 只需要加载css和js即可使用 <select name="" id=&q ...

  3. 神经网络-SGD-2

    接上节: 3.梯度(gradient): def numerical_gradient(f,x): h=1e-5 grad=np.zeros_like(x) for index_x in range( ...

  4. bootstrap.css.map 404

    删除bootstrap.css的最后一行即可: /*# sourceMappingURL=bootstrap.css.map */ English: from bootstrap-theme.css  ...

  5. java学习之—队列

    /** * 队列 * Create by Administrator * 2018/6/11 0011 * 下午 3:27 **/ public class Queue { private int m ...

  6. Mybatis之执行insert、update和delete操作时自动提交

    单独使用Mybaits,而没有集成Spring的话,执行insert.update和delete操作是不会自动提交的,即执行语句后不会在数据库有对应的数据变化. 解决这样的方法就是打开自动提交开关,在 ...

  7. 三星 SCX-4521NS 网络打印机 在XP 下 强行 设置 安装

    添加打印机加上之后,图标是半虚的,状态脱机,网上找了很多方法都不好使. 包括官方的:http://www.samsung.com/cn/support/skp/faq/442292 然后死马当活马医, ...

  8. 51nod1016

    1016 水仙花数 V2 1 秒 131,072 KB 160 分 6 级题   水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 ...

  9. P1508 Likecloud-吃、吃、吃

    数字金字塔3条路 f[i][j]=max(max(f[i-1][j],f[i-1][j-1]),f[i-1][j+1])+a[i][j]; #include<bits/stdc++.h> ...

  10. LOJ2250 [ZJOI2017] 仙人掌【树形DP】【DFS树】

    题目分析: 不难注意到仙人掌边可以删掉.在森林中考虑树形DP. 题目中说边不能重复,但我们可以在结束后没覆盖的边覆盖一个重复边,不改变方案数. 接着将所有的边接到当前点,然后每两个方案可以任意拼接.然 ...