Linux 删除指定日期之前的文件

Linux 删除指定日期之前的文件

  • Linux 删除指定日期之前的文件
    • 1. 使用find与exec
    • 2. 使用find与xargs
    • 3. 编写自动作业

Linux 删除指定日期之前的文件

1. 使用find与exec

在一个目录中保留最近三个月的文件,自动删除三个月前的文件。

find /opt/bak2 -mtime +92 -type f -name *.bk[12] -exec rm -rf {} \;

说明
/opt/bak2 ——设置查找的目录;
-mtime +92 ——设置时间为91天前;
-type f ——设置查找的类型为文件;
-name *.bk[12] ——设置文件名后缀为bk1或者bk2;
-exec rm -f ——查找完毕后执行删除操作;

将此命令写入crontab后即可自动完成查找并删除的工作了。

2. 使用find与xargs

find /opt/bak2/ -ctime +92 -type f -name *.bk[12] | xargs rm -rf

3. 编写自动作业

3.1 编写清理日志脚本clearlog.sh

   vi clearlog.sh
   #!/bin/sh
   find /opt/bak2 -mtime +92 -name "*.log" -exec rm {} \;

3.2 给脚本授权

    chmod +x clearlog.sh

3.3 加入定时执行任务

    vi /etc/crontab

在最后加入:

1 0 * * *  root /opt/sh/clear.sh

每天零点一分点自动执行clearlog.sh
3.4 重启crontab服务

    service crond restart

你可能感兴趣的:(LINUX,linux)