【发布时间】:2016-03-31 21:08:00
【问题描述】:
以尽可能简单的方式,我想知道是否有人知道如何通过简单地将当前“localtime()”作为文件名的一部分命名它们来将 .log 文件归档到 Windows XP 目录中? (不要假设日志文件有锁。)我尝试了各种不同的方法,但无法解决它......而且网络上没有很好的例子。
这就是我要找的东西:
for (all files > that 1 day old)
rename file to file.[datestamp].log
end
【问题讨论】:
-
你确定你有足够的理由重新发明/重新实现logrotate吗?
-
为什么不使用'logrotate'?通常在大多数 linux 发行版上提供,或者如果使用不提供包的 nix 系统,则可以从源代码编译。
-
是否有适用于 Windows XP 的 logrotate 二进制文件?
-
您可能遇到的一个关键问题是,如果进程打开文件,文件可能会被“锁定”,从而阻止任何重命名操作成功。除非应用程序支持内部日志轮换,否则您将需要停止服务以轮换日志。此外,当您说“不起作用”时,请提供脚本中实际失败的详细信息。
-
我尝试向这个问题添加代码示例,但它所做的只是分散人们回答问题的注意力,所以我编辑了我的示例代码。
标签: windows perl logging archiving