2023年7月26日发(作者:)
linux服务器计划任务删除N天前⽂件你有遇过因为⽇志太多⽽导致磁盘满的尴尬事情吗?磁盘满了导致服务器运⾏不正常,很影响⽣产有⽊有为了避免⽇志太多,我们只能定时删除⽇志。例如:⽇志只要保留三个⽉,超过三个⽉的⽇志统统删!删!删!那有什么办法好呢?⽅法有很多种,今天介绍⼀个命令:find命令 find命令有强⼤的查找功能,本⽂只是介绍根据⽂件名和创建时间来找⽂件,其他find命令⽤法可以man查看⼀下语句使⽤:find 对应⽬录 -mtime +天数 -name "⽂件名" -exec rm -rf {} ;例1: find /var/log/ -mtime +90 -name ".log" -exec rm -rf {} ; 将/var/log/⽬录下所有90天前以".log"结尾的⽂件删除 find:Linux的查找命令,⽤户查找指定条件的⽂件 /var/log/:想要进⾏清理的任意⽬录 -mtime:标准语句写法+90:查找90天前的⽂件,这⾥⽤数字代表天数,PS:使⽤通配符 * 来泛匹配.log表⽰查找以.log结尾的所有⽂件,""表⽰查找所有⽂件 -exec:固定写法 rm -rf:强制删除⽂件,包括⽬录 {} ; :固定写法,⼀对⼤括号+空格++; 如果需要长期监控log情况,可以将这些命令写到⼀个可执⾏脚本⽂件中,再设置cron计划任务执⾏,让系统定时去清理相关⽇志⽂件。例2: /root/ 新建⼀个shell脚本 chmod +x /root/ 编辑⽂件如下: #!/bin/sh find /var/log/ -mtime +60 -name ".log" -exec rm -rf {} ; wq,保存退出 3.#crontab -e将⽂件加⼊到系统计划任务,到点⾃动执⾏ 输⼊:3 * * */root/这⾥的设置是每天凌晨3点执⾏,清理/var/log/⽬录下60天之前的⽇志。注意:exec和file间是⼀个空格,file和{}间是⼀个空格,{}和;之间是⼀个空格,;是⼀个整体。由睿江云运维⼈员提供,想了解更多,请登陆
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690365237a338757.html
评论列表(0条)