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"`.gz
5 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' { } \;,注意{ }和\;之间的空格。

 

转载于:https://www.cnblogs.com/tobyhan/p/11419055.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值