著者:大内 智明
ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。初回は、サーバー2重化時のデータ書き込みです。
記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
#!/bin/ush -xve (略) err ERROR_EXIT(){ exit 1 } (略) if [ -z $(msctrl -job HACHU -ctrl C -msflg M -print host) ] ; then ERROR_EXIT else set +e err true touch ${lv1d}/touchfile [ $? -eq 0 ] || echo "AP1" >> $tmp-cp-err err ERROR_EXIT set -e if [ -s $tmp-cp-err ];then errcnt=$(lineup 1 $tmp-cp-err | gyo) [ "${errcnt}" -eq "1" ] && ERROR_EXIT fi set +e err true 正サーバーへのデータ書き込み処理(記述例) ファイルを書き込むコマンド [ $? -eq 0 ] || echo "AP1" >> $tmp-cp-err err ERROR_EXIT set -e if [ -s $tmp-cp-err ];then errcnt=$(lineup 1 $tmp-cp-err | gyo) [ "${errcnt}" -eq "1" ] && ERROR_EXIT fi if [ -z $(msctrl -job HACHUBT -ctrl C -msflg S -print host) ] ; then : else set +e err true 副サーバーへの書き込み処理(記述例) ファイルを書き込むコマンド [ $? -eq 0 ] || echo "AP2" >> $tmp-cp-err err ERROR_EXIT set -e if [ -s $tmp-cp-err ];then errcnt=$(lineup 1 $tmp-cp-err | gyo) [ "${errcnt}" -eq "1" ] && ワーニング処理 fi fi fi |