LINEで送る
Pocket

HUBOT!!

みなさん覚えているだろうかこいつを。。。(3年前とかビビる)

[hubot]docomo雑談対話APIが笑ったから導入の仕方まで!

毎回hubot起動時にslack.shを叩いて起動するんですが、これがなんともめんどくさいため、
作成してみました。(世界初!?)


■/etc/init.d/hubot

#!/bin/bash
#chkconfig: 2345 85 15
#descpriction: hubot
#OS Amazon Linux/CentOS6
# source function library
. /etc/rc.d/init.d/functions
USER=hubot
DIR=/home/hubot/hubot/
FILE=slack.sh
RETVAL=0
start() {
echo -n $"Starting hubot: "
su -l $USER -c "cd $DIR ; sh $FILE >/dev/null 2>&1 &"
RETVAL=$?
if [ $RETVAL == 0 ]; then
success
else
failure
fi
echo
}
stop() {
echo -n $"Stopping hubot: "
/usr/bin/pkill -f slack
RETVAL=$?
if [ $RETVAL == 0 ]; then
success
else
failure
fi
echo
}
status() {
if /usr/bin/pgrep -f slack > /dev/null
then
echo -n $"hubot is running: "
else
echo -n $"hubot is not running: "
fi
RETVAL=$?
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo -e $"Usage: $0 {start|status|stop|restart}"
exit 1
esac
exit $RETVAL

view raw
hubot
hosted with ❤ by GitHub

#!/bin/bash
DIR=/home/hubot/hubot/bin/hubot
export HUBOT_SLACK_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
export DOCOMO_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$DIR –name adachinbot –adapter slack

view raw
slack.sh
hosted with ❤ by GitHub

特にstartする場合は超パワー系となっております。(これが限界)
statusはpgrep -fを使って文字列がマッチしたプロセス全て出力してます。
↑slack.shなどのプロセスがpgrepで判定しないためstopしてもプロセスが残ったままになってしまうため!

・/etc/init.d/hubot 

とりあえず停止、起動、再起動できるかやってみたところ問題ナッシングね。

?


■まとめ

systemd用も作ろうかな…

LINEで送る
Pocket

カテゴリー: AWSCentOShubot

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。好きなツールはAnsible,Terraform,CircleCIで、ECS/Fargateでのインフラ構築を得意とする。副業では数社サーバー保守やMENTAで未経験者にインフラをコーチングを実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、ECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください