当前位置 博文首页 > Shell定时删除指定时间之前的文件

    Shell定时删除指定时间之前的文件

    作者:admin 时间:2021-06-23 18:33

    最近世界杯来了,一直忙于工作和世界杯之间,都没有空来管管我的blog了,今天只能整个简单的小shell给大家了.公司要求删除一个月之前的备份文件,免得把硬盘给整爆了,上服务器看了下,居然都有3个月的备份没有清理了,还好是sql备份,不然硬盘空间早就满了.

    下面是我的解决办法:

    复制代码 代码如下:

    cat delbak.sh
    #!/bin/sh
    location="/root/sqlbak/"
    find $location -mtime +30 -type f |xargs rm -f

    ps:

    location 是设置查找的目录
    --mtime +30 是设置时间为30天前
    -type f 这周查找的类型为文件

    然后加入crontab定时来删除:

    复制代码 代码如下:

    crontab -l
    10 4 1 * * /bin/sh /root/soft_shell/delbak.sh

    设定为每个月1号晚上4点10分执行脚本.当然你也可以根据你自己的需求去整.

    相同的删除方法:

    复制代码 代码如下:

    find /root/sqlbak -mtime +30 -type f -name *.gz -exec rm -f {} \;

    js