Linux定时删除过期日志文件

1.问题

Linux服务器上有程序持续产生临时文件供其它程序使用,但这些文件只需保留一段时间,后续要经常进行删除过期文件,人工删除一是输出时间长,二是多个目录删除繁琐

2.解决方案

使用Linux自带的删除文件命令进行模糊匹配文件名称+设置定时机制

3.实现步骤

  • 删除目录(ome/linux1/newServer/S_DBSERVER_FILE/cdndata)下前30天的文件

  • 该目录下的文件是以zip或者sql结尾的,那么我们可以这样写删除命令
find /home/linux1/newServer/S_DBSERVER_FILE/cdndata -type f -name '*.sql' -or -name '*.zip' -mtime +30 -exec rm -f {} \;
  • 上面命令的解释:find 要查找的文件目录 -type 文件类型(-f)  -name 文件名称(可用*通配) -or -name 多个文件名称匹配 -mtime 前30天文件 -exec 执行 -rm 删除 -f 强制 {} \;

  •  可以看到现在留下的文件都是前30天以内的,我们可以把这个命令写成脚本,后续加到定时任务中,自动执行
vi rmPassDateFile.sh
  • 把刚刚执行的命令加在该文件中

  • 给脚本赋予执行权限
chmod +x rmPassDateFile.sh

 

  • 将该脚本加到定时任务中(root用户)
crontab -e
  • 每天00:00执行
0 0 * * * /home/linux1/newServer/S_DBSERVER_FILE/cdndata/rmPassDateFile.sh >> /delete.log
  • 定时任务命令解释:前五个占位符是时间(分 时 日 月 周),*号代表每次,后面接脚本路径 ,再后面是将脚本中输出的日志写在文件中,我们可以再脚本中加入时间戳,后续可以查看执行脚本的记录
  • 重启定时服务
service crond restart

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huayang183

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值