001.shell-每日练习一文件创建

0x00.练习要求

  • 在/usr/local/uz654目录下,按照xxxx-xx-xx生成一个文件,如:2023-02-11.log
  • 把磁盘的使用情况写到这个文件中。
  • 删除该目录下五天前的日志文件。

0x01.核心命令掌握

  • date 命令用法
  • df 命令

Shell 脚本如下:

#! /bin/bash

d=date +%F

dir=/usr/local/uz654

if [ ! -d $dir ]

then

mkdir -p $dir

fi

df -h >$dir/$d.log

# find $dir/ -mtime +5 |xargs rm -rf # 执行前先进行测试,否则会爆炸 Ooops!

0xff.find 中 时间属性参数

参数 文件属性 说明
-mtime Modify Time 最近更改时间
-atime Access Time 最近访问时间
-ctime Change Time 最近状态改动时间
- Birth Time 文件创建时间

如果想要定期删除服务产生的日志,启动删除7天前的日志等。可以使用crontab+find的组合命令,本练习不做要求。

0xff01. mtime来看看具体的用法

-mtime 后面跟一个整数,有三种(n为数字):

  1. -mtime n 表示为:在n天之前的“一天之内”被更改过内容的文件
  2. -mtime -n 表示为:在n天之内(含n天本身)被更改过内容的文件名
  3. -mtime +n 表示为:在n天之前(不含n天本身)被更改过内容的文件名
0xff02. 举个栗子

find ./ -mtime 0 # 当前目录下24小时内更改过内容的文件列出

find ./ -mtime -2 # 当前目录下2天之内被更改过内容的文件列出;

find ./ -mtime +2 # 当前目录下2天之前的那一天被更改过的文件列出

001.shell-每日练习一文件创建的更多相关文章

  1. shell每日发邮件

    LOGFILE="$fank/"`date +"%Y%m%d"`"data"#每日文件 from="abc@123.com&quo ...

  2. 【shell 每日一练7】一键安装mysql5.7,以及密码及策略修改

    一.一键安装Mysql脚本 [root@uat01 ~]# cat InstallMysql01.sh #!/bin/bash #-- #旅行者-Travel #.安装wget yum -y inst ...

  3. 【shell 每日一练6】初始化安装Mysql并修改密码

    一.简单实现mysql一键安装 参考:[第二章]MySQL数据库基于Centos7.3-部署 此脚本前提条件是防火墙,selinux都已经设置完毕: [root@web130 ~]# cat Inst ...

  4. (001)每日SQL学习:关于UNION的使用

    union内部必须有相同的列或者相同的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同.union合并了select的结果集. union 与union all的不同: union合并了重 ...

  5. 【Shell 开发】Shell 目录

    目录 [第一章]Shell 概述 [第二章]Shell 变量 [第三章]Shell 变量的数值计算 [第四章]Shell 条件测试表达式 [shell 练习1]编写Shell条件句练习 [shell ...

  6. 【第二章】MySQL数据库基于Centos7.3-部署

    一.MySQL数据库的官方网址: https://www.mysql.com/ https://www.oracle.com/ http://dev.mysql.com/doc/refman/5.7/ ...

  7. Linux 批量创建user和批量删除用户

    Linux 批量创建user和批量删除用户 以下为批量创建用户: #首先我们需要创建一个xxx.txt文件,把需要的我们创建的用户写在这个文本里面来,注意:每写完一个用户都需要换行. vim user ...

  8. Shell 命令--文件创建、搜索命令--总结自《Linux Shell 脚本攻略》

    (一)文件创建命令 1.touch命令 比如:touch abc命令在本地文件夹中创建了一个名为abc的空文件 2.cp命令 cp命令同意我们把一个文件的内容拷贝到同名或不同名的文件里,复制得到的文件 ...

  9. shell编程001

    1.shell中如何进行算术计算   A=1; B=2 (1)let C=$A+$B (2)C=$[$A+$B] (3)C=$(($A+$B)) (4)C=`expr $A + $B` (注意运算符前 ...

  10. 每日回顾Shell —cat,tail,head

    Shell中常常会用到cat命令.可是总是不是特别清楚: cat命令的用途是连接文件或标准输入并打印. 这个命令经常使用来显示文件内容.或者将几个文件连接起来显示.或者从标准输入读取内容并显示,它常与 ...

随机推荐

  1. github下载后的文件,winrar打开中文是乱码

    是因为编码问题,通过7Z解压后正常

  2. 带你熟悉3种AQS的线程并发工具的用法

    摘要:AQS 的全称为(AbstractQueuedSynchronizer),AQS 是一个用来构建锁和同步器的框架,使用 AQS 能简单且高效地构造出应用广泛的大量的同步器. 本文分享自华为云社区 ...

  3. 同时打开多个.exe文件怎么解决

    同时打开多个.exe文件怎么解决 小黑最近遇到一个问题,就是Unity封装好用来直接打开.exe的函数不好用了!! 怎么解决? 于是发现了.bat文件!好用至极啊 前提 小黑是征求过客户同意之后才这么 ...

  4. QGraphicsView, QGraphicsObject ,QQGraphicsSvgItem 图片接收鼠标事件 拖拉 收放

    由于项目要求,需要加载svg格式图片和pixmap图片,并根据指定坐标在图上进行勾画,并且对相应位置接收鼠标事件. -继承QGraphicsObject,实现加载pixmap的项 myimageite ...

  5. CSS-@规则(At-rules)常用语法使用总结

    At-rules规则是目前CSS中一种常见的语法规则,它使用一个"@"符号加一个关键词定义,后面跟上语法区块,如果没有则以分号结束即可. 这种规则一般用于标识文档.引入外部样式.条 ...

  6. Azure Artifacts--全平台的程序包管理仓库(支持nuget)

    写在前面 大部分一定规模的团队都有搭建私有nuget的需求:例如: MyGet BaGet 而我们使用的Azure DevOps 平台本身就提供了Artifacts, Artifacts不单只支持nu ...

  7. KMP 算法 再次学习

    c++ 版后面再补 package cn.kbug.dynamic; import java.util.Arrays; /** * KMP 算法本质上是对 搜索的字符串做优化,然后在匹配的时候,能做到 ...

  8. CentOS7 登录到控制台后无法联网

    登录到控制台, ping 不通网络 解决方法 通过命令找到网卡的配置文件见 ll /etc/sysconfig/network-scripts/ | grep ifcfg-en 编辑配置文件 vi i ...

  9. 线程基础知识16-线程相关类CyclicBarrier、Semaphore、Exchanger

    1 CyclicBarrier 1.1 作用 从字面上的意思可以知道,这个类的中文意思是"循环栅栏".大概的意思就是一个可循环利用的屏障. 它的作用就是会让所有线程都等待完成后才会 ...

  10. mysql15 sql优化-小表驱动大表 IN和EXITS

    转:https://blog.csdn.net/qq_27409289/article/details/85963089 1.IN查询分析 select * from a  where a.id in ...