如何将消息从bash脚本记录到特定路径中的日志文件?如何从bash脚本将消息记录到特定路径中的日志文件
一个天真的实现是像命令:
echo My message >>/my/custom/path/to/my_script.log
但是这可能有许多缺点(例如没有日志旋转)。 据我所知,我可以使用'logger'命令,但它不支持自定义路径中的日志,并且如果您有许多可以使用自定义日志文件的bash脚本,则不易配置。
在脚本语言如Ruby这一切是很容易的:https://github.com/rudionrails/yell/wiki/101-the-datefile-adapter 我也可以把我自己的记录器命令在此基础上的Ruby库,并从我的bash脚本调用它,但我想已经有一个众所周知的解决方案,为shell脚本提供了类似的行为?
'logger'只是将数据发送到syslog。您的系统日志配置可以处理将其分成您选择的日志文件。系统日志不会轮转日志,通常由logrotate完成,可以配置为在任何文件上使用。 – jordanm
我想知道是否存在一个解决方案,在该解决方案中运行'simply_log -f〜/ log/foo.log我的消息',它将消息记录到该文件并在必要时旋转该日志文件。 (即与现代脚本语言中记录命令类似的行为)。 – Erik
IMO使用系统范围的logrotate程序是首选,除非您仅限于服务器上的用户帐户。特别是当最流行的日志记录库之一[灾难性错误](http://juliusdavies.ca/logging.html#rotate) – jordanm