19
コンソールに出力されたsterrとstinの最後のn行を効果的に取得するシェルスクリプトを作成します。私はそれがハック無限ループを介してクラッシュした場合、それを再起動しますプロセスを実行しているscreenセッションを持っている:私は必要なものコンソール出力から最後のn行を取得する
#!/bin/bash
#This script will be started in a screen session
counter=0
while [ $counter -lt 10 ]; do
./run_some_process;
last_output=#GRAB PREVIOUS OUTPUT FROM CONSOLE HERE AND LOG TO FILE
echo -e "$last_output" >> mylog.txt;
sleep 5; #sleep for a few seconds before restarting
done
は、標準エラー出力と標準入力から最後の10かそこらのラインをつかむために、コードの7行のためでありますそして2>&1
は>>logfle
は、ログファイルに追加し、stderrにstdoutをリダイレクトし、ログファイル、あなたに最後の10行を与える
ありがとうございます! 1つのリル 'の変更:./run_some_process 2>&1 | tail -10 >> logfle stderrがstdoutに行く必要があるように見えるので、パイプにつなぎます。 – Hersheezy
ああ、申し訳ありません、私の間違い^^ " –