リモートログファイルを追跡する次のコードがあります。
def do_tail( session, file )
session.open_channel do |channel|
channel.on_data do |ch, data|
puts "[#{file}] -> #{data}"
end
channel.exec "tail -f #{file}"
end
Net::SSH.start("host", "user", :password => "passwd") do |session|
do_tail session, "/path_to_log/file.log"
session.loop
のERROR文字列を含む行のみを取得したいのですがfile.log
、呼び出しを試みていますtail -f #{file} | grep ERROR
が、成功しません。