我有一个Bash脚本,需要写日志。目前我使用像下面这样的块:
#log stop request
{
local now=$(date +"%a %b %d %Y %H:%M:%S")
printf "batch stop request successful. \n"
printf " Time :: %s\n" "$now"
printf " PID of process :: %s\n" ${PID[0]}"
} >> "${mylogfile}"
我的logfile变量将拥有日志文件的名称。
这种方法的问题在于当运行2个或更多实例时,日志往往会因为来自实例的写入交错而混乱。
请注意,我使用了块思想,认为这样会一次性将日志写入文件,从而避免了这个问题。
我看到了Vivek Gite post中的logger命令。但问题在于它不能写入我可以指定的文件,而是写入到了/var/log/message中。
非常感谢任何帮助。
谢谢和问候 Sibi
printf
语句,会发生什么?如果不使用多行来输出一条消息,而是只使用一行来输出整个消息,会发生什么? - Jonathan Leffler