リモートマシンで実行されたコマンドとその出力を記録するソリューションを以下に示します。
rexec:// -t -t /usr/bin/ssh -q -x -o StrictHostKeyChecking=no -2 \
-l ${SSHUserName} -p 22 ${mainHost} \
| tee >(/opt/oss/clilogging/bin/clilogging.sh para1 para2)
clilogging.sh
各コマンドとその出力をログ ファイルに記録します。
ただし、最後に終了したコマンドとその出力メッセージ「logout」がログ ファイルに書き込まれないことがあります。
clilogging.sh
以下のとおりであります:
#!/bin/bash
{
while read R || [ -n "$R" ];do
#e.g. 2013-08-19T09:58:08+0300
timestamp=`date +%FT%T%z`;
echo $timestamp $R;
done
} > /tmp/xxx.log
誰でも私を助けることができますか?どうもありがとう!