情况描述如下:应用服务读写linux上的log文件。为了解决log文件无限增大,不考虑
备份等其他问题的情况下,现增加一个定时任务,当文件大于1G时,删除该文件。
但由于该文件,一直在读写,linux并未真正的删除该文件,当文件累计占满磁盘空间时,应用服务器,依旧检测到磁盘已满。每次都要在删文件的基础上,重新reboot。
请问下改如何解决?才能让定时删除任务真正生效,不用每次都reboot。
情况描述如下:应用服务读写linux上的log文件。为了解决log文件无限增大,不考虑
备份等其他问题的情况下,现增加一个定时任务,当文件大于1G时,删除该文件。
但由于该文件,一直在读写,linux并未真正的删除该文件,当文件累计占满磁盘空间时,应用服务器,依旧检测到磁盘已满。每次都要在删文件的基础上,重新reboot。
请问下改如何解决?才能让定时删除任务真正生效,不用每次都reboot。
删除文件后需要进程关闭对应文件的句柄,不然它的空间会一直占用。
还有一种方法就是对log文件进行rotate,文件写到一定大小就会,写到一个新的log文件,这样旧的log文件就可以删除了