Mam ten kod do ogona zdalnych plików dziennika:ogon z grep zdalnych plików dziennika
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
chcę pobrać tylko te wiersze z „błąd” string w file.log próbuję zadzwonić „ogon -f # {plik} | grep BŁĄD "ale bez powodzenia.
Z góry dziękuję.
Co to jest wyjście 'tail -f # {plik} | grep ERROR'? – Hugo
Możesz spróbować dodać '--line-buffered' do polecenia grep. – Cyrus
Może powinieneś spróbować czegoś takiego jak "bash -c" ogon -f # {plik} | grep BŁĄD '" – user3132194