timeコマンドの出力を標準エラーではなく標準出力に行う方法
Railsでwhenever
を使い下記のようにtime
で実行にかかった記録を残しながら定期処理を行っています。
path = 'PATH="/opt/rbenv/bin:$PATH";'
env = 'eval "$(rbenv init -)"; cd :path && :environment_variable=:environment nice -n 10 time'
job_type :rbenv_rake, %Q{#{path} #{env} :bundle_command rake :task --silent :output}
set :output, {error: 'log/error_foo.log', standard: 'log/foo.log'}
every '0 8 * * *' do
rbenv_rake 'foo:update'
end
ただ、time
コマンドの出力が標準出力ではなく標準エラーに行われるため正常終了した時はlog/foo.log
に処理時刻を残しておきたいのに常にerror_foo.log
側に保存されてしまいます。
time
の結果を標準出力に飛ばす方法、もしくはtime
相当の処理を行い結果を標準出力に行うプログラムなどありますか?