0

我正在使用守护程序来包装我的脚本,并在其中指定了日志位置: 脚本如下所示:

#!/usr/local/bin/ruby
require 'rubygems'
require 'daemons'

Daemons.run_proc(
   'script_test', # name of daemon
   :log_output => true,
   :output_logfilename => "script-test.log",
   :logfilename => "script-test.log"
 ) do
   exec 'ruby /opt/script-test/script-test.rb'
end

问题是我的日志存储在我的脚本所在的同一目录中。我必须将我的日志添加到不同的目录,例如 /var/log/script-test 并且以后必须每周轮换这些日志。为我提供一个解决方案,以便我可以将脚本日志存储在 /var/log 目录中。

4

2 回答 2

0

确保您使用的是绝对路径而不是相对路径

例如:

:output_logfilename => "/var/log/script-test.log",
:logfilename => "/var/log/script-test.log"

为了记录您的日志,(假设是 Linux)将以下内容添加到您的logrotate配置中以每周轮换一次:

/var/log/script-test.log {
  weekly
  missingok
  compress
  notifempty
  copytruncate
}
于 2016-01-11T05:07:50.747 回答
0

这种配置对我有用:

Daemons.run_proc(
   'script-test', # name of daemon
   :log_output => true,
   :dir_mode => :normal,
   :dir => "/var/log",
   :output_logfilename => "script-test.log",
   :logfilename => "script-test.log"
 ) do
   exec 'ruby /opt/script-test/script-test.rb'

结尾

于 2016-01-11T10:44:51.107 回答