【题目要求】

请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件

例如生成的文件为2019-04-25.log,并且把磁盘使用情况写入到这个文件中

不用考虑cron,仅仅写脚本即可

【核心要点】

date命令用法:

#打印昨天的时间:
date -d "-1 day" +%F
#打印前一小时
date -d "-1 hours" +%T
... ...

df命令

【脚本】

#!/bin/bash
d=`date +%F`
dir=/data/logs/disklog if [ ! -d $dir ]; then
  mkdir -p $dir
fi
df -h > $dir/$d.log
#删除一年前的日志文件
find $dir/ -mtime +365 | xargs rm -f

shell习题第1题:每日一文件的更多相关文章

  1. shell习题第18题:检查新文件

    [题目要求] 有一台服务器作为web应用,有一个目录(/data/web/attachment)不定时会被用户上传新的文件,但是不知道什么时候会被上传.所以,需要我们每5分钟做一次检测是否有新文件生成 ...

  2. shell习题第5题:批量更改文件后缀名

    [题目要求] 找到123/目录下所有后缀名为.txt的文件 1. 批量修改.txt为.txt.bak 2. 把所有.bak文件打包压缩为123.tar.gz 3. 批量还原文件的名字,即把增加的.ba ...

  3. shell习题第17题:检测磁盘

    [题目要求] 写一个shell脚本,检测所有磁盘分区使用率和inode使用率并记录到以当天日期命名的日志文件里,当发现某个分区容量或者inode使用量大于85%时候,发邮件提醒 [核心要点] df d ...

  4. shell习题第12题:批量创建用户

    [题目要求] 用shell脚本实现如下需求 添加user_00 -- user_09 10个用户,并且给他们设置一个随机密码,密码要求10位包含大小写字母及数字,注意要把每个用户的密码记录到一个日志文 ...

  5. shell习题第10题:打印每个单词的字数

    [题目要求] 用shell打印下面这句话中字母数小于6的单词. Bash also interprets a number of multi-character options. [核心要点] for ...

  6. shell习题第9题:sed的常用用法

    [题目要求] 把一个文本文档的前5行中包含字母的行删除掉,同时把6到10行中的全部字母删除掉. [核心要点] sed命令 [脚本] .txt |sed '/[a-zA-Z]/d' .txt |sed ...

  7. shell习题第7题:备份数据库

    [题目要求] 设计一个shell脚本用来备份数据库,首先在本地服务器上保存一份数据,然后再远程拷贝一份,本地保存一周的数据,远程保存一个月 假设我们知道mysql root账号的密码,要备份的库为da ...

  8. shell习题第27题:带选项的增删用户脚本

    [题目要求] 写一个支持选项的增加或删除用户的shell脚本 #!/bin/bash ]; then echo "Wrong, use bash $0 --add username, or ...

  9. shell习题第23题:检测网卡流量

    [题目要求] 写一个脚本,检测网卡流量并记录到日志,需要按照如下格式并一分钟统计一次(只需统计外网网卡,网卡名称eth0) 2019-06-07 1:11 eth0 input: 1000bps et ...

随机推荐

  1. Oracle中的索引详解(转载)

    一. ROWID的概念 存储了row在数据文件中的具体位置:64位 编码的数据,A-Z, a-z, 0-9, +, 和 /, row在数据块中的存储方式 SELECT ROWID, last_name ...

  2. c++开发ocx入门实践一

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/51374200 最近项目中利用ocx封装了底层视频播放及处理的控件,以供c#和web调用.对 ...

  3. 聚合maven+spring-boot打包可执行jar

    整整搞了一天,终于解决这个问题了.这里是四个module,module之间存在依赖,打包两个可执行jar,看下最终效果吧 聚合maven+spring-boot的搭建很简单,和普通的聚合maven没有 ...

  4. C++中protected的访问权限

    关于C++中protected的访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然. 我再次读<C++ Primer>的时候,其中关于prote ...

  5. svn merge error must be ancestrally related to,trunk merge branch报错

    trunk merge branch的时候报错 xxx must be ancestrally related to xxx,这个报错的意思是两者不关联,所以需要去建立关联. [回顾背景]       ...

  6. web.config如何实现301跳转

    .htaccess的301定向非常简单,那么web.config的301定向又应该怎么实现呢? 先来看下,web.config中的301格式 <?xml version="1.0&qu ...

  7. 使用react-redux开发的简单步骤

    一.安装相关包 npm install redux react-redux --save 二.根据具体情形创建模块文件 Store.js.Reducer.js.Actions.js Store.js的 ...

  8. Expression拼接

    public static class PBuilder { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效,多个OR无效:混应时 ...

  9. 一些jar包的作用

    发项目的过程中,经常需要用到一写jar包,现在对其中的一写jar的作用,做下总结,也算是避免少引或者多引jar包吧,欢迎大家补充.谢谢. 1.apache的一写jar commons-collecti ...

  10. 如何用jstl的select标签做二级联动下拉列表框??

    下拉列表框的多级联动早就会了.但是用jstl的select标签做下拉列表框的做二级联动的时候还是遇到了些问题.主要问题在用Ajax查询到的数据如何拼成下拉选项的时候.其实很简单,但我还是折腾了好久.所 ...