Linux日志输出mail,Linux系统为/var/spool/mail/目录设置logrotate

直接上代码

1 #!/bin/sh

2

3 find /var/spool/mail/ -type f -size +10M -print -exec gzip {} \; > /tmp/mail_rotate_gzip.log 2>&1

4 find /var/spool/mail/ -type f -iname *.gz | xargs rename .gz .`date "+%Y%m%d"`.gz5 find /var/spool/mail/ -type f -daystart -mtime +180 -iname *.gz -print -exec rm -f {} \; > /tmp/mail_rotate_remove.log 2>&1

find命令_Linux find 命令用法详解:在指定目录下查找文件

https://man.linuxde.net/find

虚拟机实验

找到下超过1MB的文件,gzip打成压缩包,源文件就没了

find /var/log/ -type f -size +1M -print -exec gzip {} \;

把"*.gz"压缩包文件,批量重命名为"*.190827.gz"的形式,源压缩包文件就没有了

find /var/log/ -type f -iname "*.gz" | xargs rename .gz .`date "+%Y%m%d"`.gz

找到从本日开始计算,3天前修改过的"*.gz"文件,删除掉

find /var/log/ -type f -daystart -mtime +3 -iname "*.gz" -print -exec rm -f {} \;

在/logs目录中查找更改时间在7日以前的文件并删除它们:

$ find logs/ -type f -mtime +7 -exec rm -f {} \;

在/logs目录中查找更改时间在7日以内的文件并删除它们:

$ find logs/ -type f -mtime -7 -exec rm -f {} \;

然后加入的计划任务中每日执行便可。

目录中查找更改时间在7日以前的文件:

find ./ -type f -mtime +7

目录中查找更改时间在7日以内的文件:

find ./ -type f -mtime -7

目录中查找更改时间在7日以内的目录:

find ./ -type d -mtime -7

目录中查找更改时间在7日以内的文件:

find ./ -type f -mtime -30

目录中查找更改时间在7日以内的目录:

find ./ -type d -mtime -30

将find的结果详细展示出来:

find ./ -type f -mtime -30 -exec ls -lh {} \;

find ./ -type f -mtime -30 -print -exec ls -lh {} \;

-print: 将查找到的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值