1. 创建一个 deletelog.sh 文件,代码如下

#!/bin/bash
find /root/test/ -mtime +30 -name "*.log" | xargs -i mv {} /root/RecycleBin/;
find /root/RecycleBin/ -name "*.log" -exec rm -rf {} \;

解读如下代码:
find /root/test/ -mtime +30 -name "*.log" | xargs -i mv {} /root/RecycleBin/;

find 查找

/root/test/ 指定目录

-mtime +30 30天前的(天数可自定义)

-name "*.log" 所有.log结尾的文件

| xargs -i mv {} 固定写法

/root/RecycleBin/ 目标目录

整句命令的意思:查找/root/test/目录下30天前的所有已.log结尾的文件,然后剪切到/root/RecycleBin/目录下

 

解读如下代码:
find /root/RecycleBin/ -name "*.log" -exec rm -rf {} \;

find 查找

/root/RecycleBin/ 指定目录

-name "*.log" 所有.log结尾的文件

-exec rm -rf {} \  固定写法

整句命令的意思:查找/root/RecycleBin/目录下所有已.log结尾的文件,然后全部删除掉

 

2. 为 deletelog.sh 添加执行权限

chmod 777 /root/RecycleBin/deletelog.sh

 

3. 添加定时执行 deletelog.sh 脚本的任务

crontab -e 进入定时任务的编辑界面

Linux 定时清理指定目录下 30 天前的文件

添加定时任务(每天凌晨2点执行):

0 2 * * * /root/RecycleBin/deletelog.sh

Linux 定时清理指定目录下 30 天前的文件

crontab -l 查看执行计划

Linux 定时清理指定目录下 30 天前的文件

 

以上就是全部的内容了,可以自行再去了解一下这些参数的其他设置。

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-03-07
  • 2022-12-23
  • 2021-11-24
  • 2022-12-23
  • 2021-07-24
猜你喜欢
  • 2021-06-21
  • 2022-12-23
  • 2021-11-02
  • 2021-10-24
  • 2021-12-02
相关资源
相似解决方案