shell 脚本删除30天前备份的文件

新手上路,请多包涵

写一个shell脚本用于删除30天前备份的文件,不用find命令查找。

阅读 3.5k
2 个回答

比如你的文件命名格式是这样的api-2020-12-20.log

#!/bin/bash

day=`date -d "30 day ago" +%F`
rm -f "api-${day}.log"

这个要结合你日志备份管理机制
很多系统本身支持日志系统在零点分割,并把以往日志重命名,比如有

  1. 用log、log.1、log.2.......这样来重命名的
  2. 详细以日期来命名的

对于1,只需要定时删除 log.30 即可
对于2,则需要明确计算出30天前的日期来删除

我的还可以部署logrotate类型工具来处理相应问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题