22
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2インスタンス起動時に指定ユーザで任意のシェルスクリプトを実行する方法

Last updated at Posted at 2018-05-03

EC2インスタンス起動時に指定ユーザでシェルを実行する方法

経費削減のため、指定時間だけ起動したいというEC2インスタンスの再起動時に
rootユーザではなく、指定ユーザでシェルを起動する方法。
再起動時の確認が手間なのと地味にはまったので忘れないように備忘録として書いておく。

  1. /etc/init.dに起動シェルスクリプト設置(自作サービス)
  2. chmod 775 /etc/init.d/(サービス名)
  3. chkconfig --add (サービス名)

例としてはmyserviceスクリプトをinit.d以下に作成して
そのスクリプト経由でユーザを切り替えて(ec2-user)任意のシェルスクリプト(hoge.sh)を起動させる

/etc/init.d/myservice
#!/bin/sh
# chkconfig: 2345 99 10
# description: start shell
case "$1" in
 start)
       su -l ec2-user -c "sh /home/ec2-user/hoge.sh"
       ;;
 stop)
       ;;
  *) break ;;
esac

上記作成後、EC2インスタンス起動時に実行する設定に追加

$chkconfig --add myservice
$chkconfig myservice on
22
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?