脚本任务描述:

在/home/自己用户目录下“每十分钟生成一个当前时间,大小为300M的文件,当该磁盘目录使用率大于30%时,触发告警(将告警信息(包含时间、清理文件的名称及大小)写入/root/alert.log),并删除触发告警之前前一天及以前的”/home/自己用户目录下“自动生成的文件,如果还大于30%,则清理前三小时的自动生成的文件。

首先根据脚本所需内容,可以分几步写:

第一步:生成定时执行任务(每十分钟执行一次脚本),并生成以时间戳命名,大小为300M的文件

首先,根据crontab编写定时命令,怎么使用crontab可以看小编另一篇博客:

Linux crontab 定时执行脚本

简单来说就是,

crontab -e,进入编辑模式。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
*/10 * * * * root /home/(你自己用户下)/test.sh
#查询时间戳并赋值给变量var_date
var_date=$(date +%s)
#生成大小为300M的文件
dd if=/dev/zero of=/home/(你自己目录下)/$var_date bs=300M count=1

第二步:设置告警阈值,查询当前磁盘使用情况,判断是否触发告警

#查询当前磁盘使用情况
var_cur=$(df -h | grep centos-home | awk   '{print $(NF -1)}'| cut -d % -f 1)
#设置阈值大小
var_warn=30

在这里查询磁盘状态的命令稍微有点点复杂涉及三个管道符,主要难点就是只获取磁盘使用率的数值其他任何值以及符号都不要。

这里可以解释一下几个命令,awk   '{print $(NF -1)}' ,这个命令是指文本输出每行的倒数第二个列。

关于awk命令的解析可以看看这位博主的文章:

awk基础,awk介绍,awk基本语法,直接使用action,打印列,初识列和行,\$0、\$NF、NF,基础示例,begin模式,end模式

其次就是 cut -d % -f 1,这里是指截取以%为分隔符的第一域内容。

关于cut命令可以参考这两篇文章哦:

cut命令使用

cut用法

第三步:当触发告警时,将前一天的文件全部删除,若还是高于阈值则删除3小时前的文件

#查询当前系统时间
var_time=$(date +%Y-%m-%d" "%H:%M:%S)
#判断当前磁盘使用率是否大于阈值,若大于则删除前一天之前的文件,并在alert.log文件中写入告警信息包括时间,文件名,大小
if [ "$var_cur" -gt 30 ]
then echo $var_time >> /root/alert.logdu -mh 165* >> /root/alert.logfind . -maxdepth 3 -name "165*" -mtime +1 | rm -rf 165*
Fi#如果依然大于30%则删除3小时前的指定文件
var_time=$(date +%Y-%m-%d" "%H:%M:%S)
if [ "$var_cur" -gt "$var_warn" ];
then echo $var_time >> /root/alert.logdu -mh 165* >> /root/alert.logfind . -maxdepth 3 -name "165*" -mmin 180 | rm -rf 165*
Fi

以上就是个人的思路,如果有大佬有不同想法,敬请指点哈~~~

Linux 定时脚本任务相关推荐

  1. linux定时任务每小时_linux 后台运行,linux定时脚本任务,定时(每分钟),每小时...

    后台运行 在终端输入命令: # nohup  python ./test.py >1.txt 解释:nohup就是不挂起的意思,将python ./test.py直接放在后台运行,并把终端输出存 ...

  2. linux定时脚本任务

    1.导出数据库到文件目录中 2.压缩已导出的test.sql文件 3.格式化date表达形式:年月日 4.查找一周前的时间 5.一周前的年月日显示 6.正式编写脚本文件 7.测试脚本文件是否有误 8. ...

  3. linux定时执行python脚本_linux定时执行python脚本的方法以及失败不执行的处理方法...

    首页,linux定时任务用到的是crontab,我们来看一下crontab如何使用 crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的cro ...

  4. Linux中写脚本,同时去开启我们自己设定的多个服务(含定时脚本实现)

    场景介绍: 在Linux中,我们通常开启服务需要使用systemctl start 服务名 命令,这样,如果开启一个服务还好,但是如果同时开启多个服务,难免会感到麻烦,这时,我们可以自定义一个脚本,去 ...

  5. Linux 定时执行shell 脚本

    2019年第 85 篇文章,总第 109 篇文章 本文大约2000字,阅读大约需要6分钟 crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令. 定时执行shell ...

  6. linux脚本定时拷贝文件,使用Linux shell脚本实现FTP定时执行批量下载指定文件

    使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示: 1.目标FTP服务器地址 #FTP服务器地址 ip=10.19.15.23 2.FTP账号和密码 u=账号 p=密码 3.使用m ...

  7. linux脚本调用db2存储过程,LINUX定时执行含有DB2存储过程的SHELL脚本

    <LINUX定时执行含有DB2存储过程的SHELL脚本>由会员分享,可在线阅读,更多相关<LINUX定时执行含有DB2存储过程的SHELL脚本(6页珍藏版)>请在人人文库网上搜 ...

  8. linux定时重启tomcat的脚本,Linux系统中的tomcat定时重启脚本

    1.Linux下tomcat重启脚本 [root@]# vi test.sh #!/bin/sh export JAVA_HOME=/usr/java/j2sdk1.4.2_06/ pid=`ps - ...

  9. linux定时重启tomcat的脚本,linux定时重启tomcat服务的脚本学习

    要求:在linux中定时重启一个tomcat服务 一:shell脚本即Shell Script [1],Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便 ...

最新文章

  1. 史上最全ajax全套讲解
  2. Spring(07)——单例注入多例之lookup-method
  3. GridView利用FootTemplate插入新记录
  4. mysql 数据库引擎切花_asyncio异步编程【含视频教程】
  5. TensorFlow Google大会总结
  6. Java 连接 MS sql Server 2005
  7. Xcode多Target设置
  8. C#中的 具名参数 和 可选参数
  9. Linux qt 更新,Qt 5.15 Beta 2 发布,Qt 6之前的最后一个重大更新
  10. 【Alpha 冲刺】 2/12
  11. 热血江湖战无止境与服务器连接不稳定,《热血江湖》V14.0“战无止境”新版玩不停...
  12. npm run build失败
  13. 联想杨元庆:没必要做操作系统和芯片;华为Mate 20 Pro被迫退出安卓 Q Beta;GitHub推赚钱新利器 | 极客头条...
  14. Python网络编程之TCP通信实例和socketserver框架使用例子
  15. 如何理解Unicode,UTF-8,UTF-16。
  16. 软件工程--快速原型模型详解
  17. 鸿蒙熔炉是真实存在的吗,古董局中局父辛爵是真的吗 父辛爵真实存在国内仅有两件...
  18. RAID 磁盘列阵与阵列卡
  19. win7下搭建Nginx简单图片服务器
  20. h61 nvme硬盘_切割SN520amp;amp;对比主流NVME2242amp;amp;无硬盘盒迁移系统

热门文章

  1. (4种)实现垂直居中的方法总结
  2. 林志颖的个人履历,佩服的五体投地!
  3. CloudFoundry DEA运作源码分析
  4. 考试记录:阿⾥云Apsara Clouder云计算专项技能认证:云服务器ECS⼊门
  5. ALIGN 边界对齐指令
  6. 中国量子计算机“婴儿”诞生
  7. ajax 提交 form表单 ,后台执行两次的问题
  8. 算法题(四十):BFS解决网易2017年笔试题——地牢逃脱
  9. 奇异值分解(SVD)原理详解
  10. 高德地图目前是哪个集团下的公司?