如何使用 javascript/php 清除日志文件?

Posted

技术标签:

【中文标题】如何使用 javascript/php 清除日志文件?【英文标题】:How do I clear a log file using javascript/php? 【发布时间】:2012-07-10 23:50:19 【问题描述】:

我想用 javascript/php 每 X 小时清除一次日志文件?这可能吗,如果可以,您可以帮助设计运行它所需的代码吗?谢谢。

【问题讨论】:

嗯,它是什么? JavaScript 还是 PHP? file_put_contents($logfile, '');var logfile= ''。 JS 是一个 var,因为 JS 本身没有文件函数。 我建议您轮换您的日志文件,这样您至少可以回去几天寻找一些东西。 我猜你可以用 node.js 搞乱文件系统? :) 可能不是问什么,但是,嘿,客户端 JS 越来越普遍。 【参考方案1】:

我会假设您更喜欢涉及 PHP 的答案,因为日志通常不使用 JavaScript 保存,我假设您在客户端中指的是侧上下文。

一个简单的file_put_contents 就可以了。

file_put_contents('/the/path/of/your/log/file.log', '');

为了完整起见,您可以在 node.js 中使用 fs.writeFile 完成相同的操作。

fs.writeFile("/the/path/of/your/log/file.log", "");

【讨论】:

我有点困惑,因为我不精通 javascript 或 php。来源在 saabhirgill.com/chat/index.php 我只想每 x 小时清除一次 saabhirgill.com/chat/log.html @user1516274 查看 cronjobs,它可以让你设置一个每 x 小时、分钟或任何你告诉它运行的脚本。 @user1516274:使该文件参数清除并创建一个计划任务,该任务每 x 小时运行一次清理脚本。另外,如果这不仅仅是一个实验项目,我建议使用数据库并包含时间戳字段,因此这些都不是必需的。【参考方案2】:

如果日志文件在网络服务器上,你不能直接用javascript来做,你必须用php来做,虽然你可以从javascript调用相应的php-site。

只需使用以下命令删除 php 中的文件:

unlink('your_file_name.log');

http://www.php.net/manual/de/function.unlink.php

最简单的做法是设置一个 cronjob 来执行此操作,但如果无法在您的网站空间上运行 cronjob,则下一个最佳选择是检查每个站点访问的文件的年龄如果它超过 $x 小时,则将其删除。这可以通过 filectime() 获取文件创建时间戳并将其与 time() 返回的当前时间戳进行比较来完成。如果差值超过 $x 小时,请取消链接。

$filename = '/path/to/your/file.log';
if(time() - filectime($filename) > $x * 3600) unlink($filename); // multiply by 3600 'cause times are in seconds

【讨论】:

@user:这应该总是每 X 小时发生一次,还是仅当特定的 php 站点当前正在使用/显示时发生?提供特定答案的一个重要问题也可能是,您在服务器上拥有什么权利?是您自己的机器还是您租用了一些网络空间? 好的,服务器,是你自己的机器还是你租了一些网络空间?是 Windows/Linux/其他吗? 我租了它,我相信它的 linux 那么您可能会有一个像 Confixx 或 Plesk 这样的 Web 界面,您可以在其中配置您的东西?编写一个 php 脚本,它只做上面的取消链接。然后转到您的配置并查找名为“cronjob(s)”的内容。如果你找到它,只需将脚本添加为一个周期为 X 小时的 cronjob,它就会自动按照你的意愿执行。如果您没有运行 cronjob 的权限,您可能需要切换到更好的服务器包,否则您将很难实现您想要的。 谢谢,有什么方法可以让我在没有日志的情况下进行聊天

以上是关于如何使用 javascript/php 清除日志文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何清除焦点上的文本区域?

如何在点击时清除文本区域?

如何清除SQLserver 日志

SQL Server 快速清除日志文件的方法

Docker:如何正确清除 Docker 容器的日志?

Rails AJAX 注释清除文本区域