Ho questo codice per i file di log remoti di coda:coda con grep file di log remoti
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
voglio recuperare solo le righe con "ERROR" stringa in file.log, sto cercando di chiamare "coda -f # {file} | grep ERROR "ma senza successo.
Grazie in anticipo.
Qual è l'output di 'tail -f # {file} | grep ERRORE'? – Hugo
Puoi provare ad aggiungere '--line-buffered' al comando grep. – Cyrus
Forse dovresti provare qualcosa come "bash -c 'tail -f # {file} | grep ERROR'" – user3132194