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. lumen 5.6 设置APP_KEY为32位长的随机字符串

    在 App\Console\Commands下 添加以下内容的KeyGenerateCommand.php文件 <?php namespace App\Console\Commands; use ...

  2. [转帖]cnblog 新闻 : 亚太云计算市场报告:腾讯位列前五 份额首超谷歌

    亚太云计算市场报告:腾讯位列前五 份额首超谷歌 投递人 itwriter 发布于 2019-03-18 12:06 评论(1) 有213人阅读 原文链接 [收藏] « » 美国市场研究机构 Syner ...

  3. leetcode资料整理

    注:借鉴了 http://m.blog.csdn.net/blog/lsg32/18712353 在Github上提供leetcode有: 1.https://github.com/soulmachi ...

  4. SpringBoot 4.SpringBoot 整合 devtools 实现热部署

    一.添加 devtools 依赖 <!-- Spring boot 热部署 : 此热部署会遇到 java.lang.ClassCastException 异常 --> <!-- op ...

  5. 不停机修改线上 MySQL 主键字段 以及其带来的问题和总结思考

    起因: 线上 user 数据库没有自增字段,数据量已经达到百万级.无论是给离线仓库还是数据分析同步数据,没有主键自增 id 都是杀手级的困难.所以在使用 create_time 痛苦了几次之后准备彻底 ...

  6. HTML5 & tel & make a phone call

    HTML5 & tel & make a phone call 咋呼叫呀,网页怎么打电话? { key: "exploreCorpPhone", title: &q ...

  7. Yii2框架GridView自带导出功能最佳实践

    1. 导出excel的实现方法 (1)使用phpexcel封装工具类导出excel (2)使用爬虫爬取页面再处理封装工具类导出excel (3)使用页面渲染后处理html添加头部信息生成excel文件 ...

  8. vue自定義指令

    自定義指令可以允許代碼複用, 全局自定義指令 vue.directive('指令名',{鉤子函數:指令函數}) 局部自定義指令: vue({ directives:{指令名:{鉤子函數:指令函數} } ...

  9. 二、kubernetes

    一.kubernetes(简称k8s) 集群示意图 Kubernetes工作模式server-client,Kubenetes Master提供集中化管理Minions.部署1台Kubernetes ...

  10. bzoj2152-[国家集训队]聪聪可可

    Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)--遇到这种问题,一般情况下石头剪刀布就好 ...