宝塔面板每月定时删除日志

宝塔面板每月定时删除日志

find /www/wwwlogs -type f -name "*.log" -exec truncate -s 0 {} \;
作用:将匹配到的日志文件内容清空,但保留文件本身(文件大小变为 0 字节)。
优点:
不会改变文件的权限、所有者、创建时间等元数据。
不会影响正在写入日志的进程(如 Nginx/Apache),因为文件 inode 不变。
缺点:
磁盘上仍会保留大量空文件,占用 inode 资源(对大文件系统影响较小)。
日志文件名不会被清理,可能导致目录下文件过多。
适用场景:
需要保留日志文件结构(如文件名、权限)。
避免重启服务(如 Nginx/Apache),因为它们可能锁定日志文件。

find /www/wwwlogs -type f -name "*.log" -exec rm -f {} \;
作用:将匹配到的日志文件彻底删除,释放磁盘空间。
优点:
完全释放磁盘空间(包括 inode)。
目录下不会残留空文件,结构更简洁。
缺点:
如果日志服务(如 Nginx)正在写入文件,可能会继续向已删除的文件写入(文件被标记为删除,但进程仍持有文件句柄)。
需要重启服务或重新配置日志路径,才能生成新的日志文件。
适用场景:
不需要保留任何历史日志。
可以接受服务重启或重新加载配置。

代码结束

发表评论 已发布 0

还可以输入 800 个字
 
 
打印