harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

bash GNU/Linux メモ

script​/標準入力の判定(case文)

投稿日:2006年10月29日

ホスト名を標準入力にて引数として追加し、ホストグループを判定する勉強用スクリプト。

ホスト名の先頭にweb、db、app、mailがあった場合はホストグループとサーバールートを出力、
ホスト名が対象外、あるいは引数が無い場合は"該当しない"旨のメッセージを出力。

  • スクリプト
    test.sh

    #!/bin/sh
    
    HOST=$1
    TARGETDATE=`date -d '1days ago' +%Y%m%d`;
    TMPDIR='/home/backup/tmp/logs'
    SERVERROOT='/home/backup/web/logs'
    
    case $1 in
        web*)
            echo "hostgroup is apache web servers"
            SERVERROOT='/usr/local/apache'
            ;;
        db*)
            echo "hostgroup is mysql db servers"
            SERVERROOT='/usr/local/mysql'
            ;;
        app)
            echo "hostgroup is java application servers"
            SERVERROOT='/usr/local/tomcat'
            ;;
        mail*)
            echo "hostgroup is postfix mail servers"
            SERVERROOT='/usr/local/postfix'
            ;;
        *)
            echo "This host doesn't belong to any group or no stdin. "
            ;;
    esac
    echo "SERVERROOT=$SERVERROOT" 
    
    exit 0
  • 実行例
    標準入力をつけた場合は以下の通りとなる。

    $ sh test.sh web001
    hostgroup is apache web servers
    SERVERROOT=/usr/local/apache

    標準入力が対象外のホスト、あるいは入力が無い場合は以下の通りとなる。

    $ sh test.sh
    This host doesn't belong to any group.
    BACKUPDIR=none
  • 備考
    最後のecho "SERVERROOT=$SERVERROOT"は条件式毎にいれてもよい。

-bash, GNU/Linux, メモ

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

[Google Drive] LinuxサーバーにてRcloneインストール&お試し

LinuxサーバーからGoogle Driveのストレージにファイルの同期をしよう、ということで 数あるGoogle Driveの同期ツールの中から、今回はインストール/環境整備がもっとも手軽で かつ …

no image

CentOSにwmiクライアントを入れてみる

何気にLINUX PACKAGE SEARCHでwmi(Windows Management Instrumentation)の RPMパッケージが紹介されていたので、空き時間に入れて試してみる。難易 …

no image

USB接続のHDDをmke2fsでext3にフォーマットしたときのメッセージを確認(tune2fs )

CentOS5.8にて、USB接続の外付けHDDをext3にてフォーマットした際 “ファイルシステムは29回マウントされるか、または180日経過するか、どちらか先に来たら自動でチェックされ …

no image

[メモ]panasonic スイッチのファームウェアアップデート(Switch-M24eG PN28240)

パナソニック電工(現在はパナソニックESネットワークス)のSwitch M24eGのファームウェアのアップデートメモ。 syslog周りの設定をしておこうとしたところ、メーカーの紹介ページでは実装され …

no image

postfix SMTP-auth実装ログ

2004/12/27 2005/01/06 ▼smtp-AUTH実装ログ 1)smtp-AUTH用main.cf作成 2)cyrus-saslソース版インストール 3)saslauthdの実行環境を設 …