001.shell-每日练习一文件创建
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为数字):
-mtime n表示为:在n天之前的“一天之内”被更改过内容的文件-mtime -n表示为:在n天之内(含n天本身)被更改过内容的文件名-mtime +n表示为:在n天之前(不含n天本身)被更改过内容的文件名
0xff02. 举个栗子
find ./ -mtime 0 # 当前目录下24小时内更改过内容的文件列出;
find ./ -mtime -2 # 当前目录下2天之内被更改过内容的文件列出;
find ./ -mtime +2 # 当前目录下2天之前的那一天被更改过的文件列出
001.shell-每日练习一文件创建的更多相关文章
- shell每日发邮件
LOGFILE="$fank/"`date +"%Y%m%d"`"data"#每日文件 from="abc@123.com&quo ...
- 【shell 每日一练7】一键安装mysql5.7,以及密码及策略修改
一.一键安装Mysql脚本 [root@uat01 ~]# cat InstallMysql01.sh #!/bin/bash #-- #旅行者-Travel #.安装wget yum -y inst ...
- 【shell 每日一练6】初始化安装Mysql并修改密码
一.简单实现mysql一键安装 参考:[第二章]MySQL数据库基于Centos7.3-部署 此脚本前提条件是防火墙,selinux都已经设置完毕: [root@web130 ~]# cat Inst ...
- (001)每日SQL学习:关于UNION的使用
union内部必须有相同的列或者相同的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同.union合并了select的结果集. union 与union all的不同: union合并了重 ...
- 【Shell 开发】Shell 目录
目录 [第一章]Shell 概述 [第二章]Shell 变量 [第三章]Shell 变量的数值计算 [第四章]Shell 条件测试表达式 [shell 练习1]编写Shell条件句练习 [shell ...
- 【第二章】MySQL数据库基于Centos7.3-部署
一.MySQL数据库的官方网址: https://www.mysql.com/ https://www.oracle.com/ http://dev.mysql.com/doc/refman/5.7/ ...
- Linux 批量创建user和批量删除用户
Linux 批量创建user和批量删除用户 以下为批量创建用户: #首先我们需要创建一个xxx.txt文件,把需要的我们创建的用户写在这个文本里面来,注意:每写完一个用户都需要换行. vim user ...
- Shell 命令--文件创建、搜索命令--总结自《Linux Shell 脚本攻略》
(一)文件创建命令 1.touch命令 比如:touch abc命令在本地文件夹中创建了一个名为abc的空文件 2.cp命令 cp命令同意我们把一个文件的内容拷贝到同名或不同名的文件里,复制得到的文件 ...
- 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` (注意运算符前 ...
- 每日回顾Shell —cat,tail,head
Shell中常常会用到cat命令.可是总是不是特别清楚: cat命令的用途是连接文件或标准输入并打印. 这个命令经常使用来显示文件内容.或者将几个文件连接起来显示.或者从标准输入读取内容并显示,它常与 ...
随机推荐
- github下载后的文件,winrar打开中文是乱码
是因为编码问题,通过7Z解压后正常
- 带你熟悉3种AQS的线程并发工具的用法
摘要:AQS 的全称为(AbstractQueuedSynchronizer),AQS 是一个用来构建锁和同步器的框架,使用 AQS 能简单且高效地构造出应用广泛的大量的同步器. 本文分享自华为云社区 ...
- 同时打开多个.exe文件怎么解决
同时打开多个.exe文件怎么解决 小黑最近遇到一个问题,就是Unity封装好用来直接打开.exe的函数不好用了!! 怎么解决? 于是发现了.bat文件!好用至极啊 前提 小黑是征求过客户同意之后才这么 ...
- QGraphicsView, QGraphicsObject ,QQGraphicsSvgItem 图片接收鼠标事件 拖拉 收放
由于项目要求,需要加载svg格式图片和pixmap图片,并根据指定坐标在图上进行勾画,并且对相应位置接收鼠标事件. -继承QGraphicsObject,实现加载pixmap的项 myimageite ...
- CSS-@规则(At-rules)常用语法使用总结
At-rules规则是目前CSS中一种常见的语法规则,它使用一个"@"符号加一个关键词定义,后面跟上语法区块,如果没有则以分号结束即可. 这种规则一般用于标识文档.引入外部样式.条 ...
- Azure Artifacts--全平台的程序包管理仓库(支持nuget)
写在前面 大部分一定规模的团队都有搭建私有nuget的需求:例如: MyGet BaGet 而我们使用的Azure DevOps 平台本身就提供了Artifacts, Artifacts不单只支持nu ...
- KMP 算法 再次学习
c++ 版后面再补 package cn.kbug.dynamic; import java.util.Arrays; /** * KMP 算法本质上是对 搜索的字符串做优化,然后在匹配的时候,能做到 ...
- CentOS7 登录到控制台后无法联网
登录到控制台, ping 不通网络 解决方法 通过命令找到网卡的配置文件见 ll /etc/sysconfig/network-scripts/ | grep ifcfg-en 编辑配置文件 vi i ...
- 线程基础知识16-线程相关类CyclicBarrier、Semaphore、Exchanger
1 CyclicBarrier 1.1 作用 从字面上的意思可以知道,这个类的中文意思是"循环栅栏".大概的意思就是一个可循环利用的屏障. 它的作用就是会让所有线程都等待完成后才会 ...
- mysql15 sql优化-小表驱动大表 IN和EXITS
转:https://blog.csdn.net/qq_27409289/article/details/85963089 1.IN查询分析 select * from a where a.id in ...