我不知道有一个程序会做我想要的。 这就像一个stream式的日志旋转程序。 对于linux / unix命令行。
比方说,我有一些inputstream是一些数据。 我想写一个文件,但每天(或小时或其他),不同的文件,即打开一个指定的基于date时间的模式的文件,并写入该文件的标准input的内容。 当一天发生变化(或者小时或分钟,或者星期等)时,closures那个文件,然后重新打开一个新的文件名(将会有一个新的文件名),然后写入这个文件的行呢?
所以像这样:
my long | process | that's generating | input | datestampfilewriter --daily 'output.%Y-%m-%d.txt'
这个工具是否存在?
你可以使用cronolog 。
cronolog是一个简单的filter程序,它从标准input读取日志文件条目,并将每个条目写入由文件名模板指定的输出文件以及当前date和时间。 当扩展文件名改变时,当前文件被closures,并打开一个新文件。
logger
如何? logging到syslog,这是“datestampped”,可以是logrotate
d。
并用-f
选项logging到文件。 man logger
。