SHELL脚本--定时删除日志

创建删除脚本

创建一个 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 {} 」xargs能够捕获一个命令的输出,然后传递给另外一个命令。这里的作用是把find找出的日志文件交给mv命令移动到目标目录。

「 /root/RecycleBin/ 」目标目录

整条命令的意思:查找 /root/test/ 目录下 30 天前的所有以 .log 结尾的文件,然后将它们移动到 /root/RecycleBin/ 目录下。

经验分享 程序员 微信小程序 职场和发展