Shell定时删除指定时间之前的文件
最近世界杯来了,一直忙于工作和世界杯之间,都没有空来管管我的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 {} \;
相关文章
让Linux下的cron以秒为单位执行shell脚本的3种方法
这篇文章主要介绍了让Linux下的cron以秒为单位执行shell脚本的3种方法,cron默认只支持以分为单位执行Shell脚本的,需要的朋友可以参考下2014-10-10Shell获取路径操作(dirname $0 pwd)的实现
在shell脚本中经常会看到$(cd $(dirname $0); pwd)、basename等操作,本文主要介绍了Shell获取路径操作(dirname $0 pwd)的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-02-02linux shell命令快捷获得系统帮助(一)[man-pages定义规范]
linux命令帮助,一般有2种,命令自身代码里面带有使用帮助说明,这种一般很精简,太长了,程序自身的大小以及日常维护不方便。还有一种,就是带有帮助文件,类似windows的chm格式文件。下面我说下这2种怎么样查阅2015-10-10
最新评论