harumaki.net

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

bash GNU/Linux メモ

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

投稿日:2006年10月29日

Last Updated on 2013年4月3日 by かんりにん

[pukiwiki]

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

ホスト名の先頭に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””は条件式毎にいれてもよい。

[/pukiwiki]

-bash, GNU/Linux, メモ

執筆者:


comment

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

CAPTCHA


関連記事

no image

mysql sshトンネリングでの暗号化接続をさくっと試す

リモートホストのMySQLサーバーへアクセスする際に、クライアント – サーバー間の通信を暗号化する方法をかるく検証。 (MySQLのDBスキーマやテーブルの暗号化ではない) 方法としては …

no image

[メモ][postfix] インバウンド、アウトバウンドにかかわらずすべてのメールを特定のアカウントに転送する設定

テスト環境でデバッグやテスト時に開発サーバーのMTAから配信されるメールを特定のアドレスに転送させる設定を追加。 目的は、ソース内にハードコーディングされている本番サーバー向けのドメインに、誤ってメー …

no image

[メモ]Juniper SSG ScreenOS ファームウェアのアップデート

SSGシリーズ(SSG-5-SH-EXT)のファームウェアを最新版にアップデートしたので、そのメモをまとめときました。作業はTFTPベースでささっと実施。 更新前後のバージョンは以下の通りです。 更新 …

[AWS]ただのメモ:ELBでSSL証明書をアップするときは秘密鍵をRSAで。

  ※AWSへSSL証明書一式をアップする際の注意事項 秘密鍵ファイルをかならずRSA PRIVATE KEYへ変更すること。 普段apache httpd serverでhttpsを使うときは秘密鍵 …

no image

netscreenのコンフィグバックアップスクリプト(telnet編)

会社のNetscreenのコンフィグを、Linuxサーバー側からtelnetでアクセスしたのち tftpを使ってdailyでバックアップする、やや回りくどいスクリプト。 とりあえずLANなのでteln …