linux – 记录到文件,在每行前加一个时间戳(Debian)

前端之家收集整理的这篇文章主要介绍了linux – 记录到文件,在每行前加一个时间戳(Debian)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将我的一些 shell脚本的输出记录到文件中,并且我希望时间戳前置于每一行.根据我的理解,这就是logger(1)的用途,但我不希望输出转到/ var / log / messages,我看不出这可以使用logger.我顺便使用Debian.

做这个的最好方式是什么?

-Oliver

解决方法

记录器的功能实际上是将消息分流到syslog;默认配置将预先设置时间戳并将日志写入/ var / log / messages,但这并不意味着记录器的目的是预先设置时间戳.

处理此问题的一种方法修改系统日志配置,使您通过记录器路由的消息转到特殊文件 – 使用“-p”标志记录器以规定facility.priority对(可能是用户之一[1. .7]设施),并配置您的syslogd以将该设施记录到特殊文件.

或者,您可以启动一个快速shell函数来简单地添加时间戳:

BodacIoUs:~ james$timestamp () {
> f=`date`
> echo $f $*
> }
You have new mail in /var/mail/james
BodacIoUs:~ james$timestamp a line of logs
Tue 18 Jan 2011 22:40:24 EST a line of logs
BodacIoUs:~ james$

在我的系统上,这将导致每行输出一次shell forking / bin / date.这是低效的,但在小规模上可能是可接受的.

猜你在找的Linux相关文章