シェルスクリプト
シェルスクリプトの結果をログに出力する際のメモです。
個人的に現在(2015年12月時点)のベストプラクティス [#k782d17d]
下記記述をスクリプトの頭と末尾に記載しておくことで、スクリプトを実行した時間とスクリプトにかかった時間をログに記載できる
SECONDS=0
LOGFILE="/tmp/backup-`date +%w`.log"
exec > "${LOGFILE}"
exec 2>&1
コマンド
echo "[INFO] Script time is ${SECONDS}sec."
とにかくシェルスクリプトの結果をログに吐き出す [#q8adb902]
test.sh > test.log 2>&1
execコマンドを使ってログ出力する [#l471c327]
LOGFILE="/tmp/backup-`date +%w`.log"
exec >> "${LOGFILE}"
exec 2>&1
コマンド
参考にさせていただいたURL:http://memo.laughk.org/2014/04/24/shell_exec_log.html
まとめて囲う方法 [#l1738b50]
#!/bin/sh
LOG=result.log
{
date
echo "Hello World"
echo "Good Night"
service httpd status
} >> ${LOG}
ヒアドキュメントを使って出力をまとめる [#b508eb98]
#!/bin/sh
LOG=test.log
cat << EOF >> ${LOG}
====================
Program Start
====================
EOF
POINT:EOFの箇所はなんでも良い。