我有一个用于记录客户端 IP 地址的文件。他们希望保留文件的最后 500 行。它在带有 PHP4 的 Linux 系统上(哦不!)。
我打算用新的 IP 地址一次一行地添加到文件中。我们无权访问 cron,所以我可能需要让这个函数也进行行限制清理。
我在考虑使用likeexec('tail [some params]')
或者用PHP 读取文件,在换行符上将其分解为数组,获取最后1000 个元素,然后将其写回。似乎有点内存密集型。
有什么更好的方法来做到这一点?
更新:
根据下面@meagar 的评论,如果我想使用 zip 功能,我将如何在我的 PHP 脚本中做到这一点?(无法访问 cron)
如果(兰德(0,10)== 10){ shell_exec("查找 .logfile.txt [其中大小 > 1mb] -exec zip {} \;") }
如果存在现有文件,zip 会自动枚举文件还是我需要手动执行?