起動時にコマンドを実行させたい

起動時にコマンドを実行させるために、Cronを使いました。

https://qiita.com/aki3061/items/3a3c5fca3c185173eda1

Cronには起動時に1度実行する@rebootという記述ができます。これで実行させます。今回は、ec2-userでCronを実行させるようにしました。

対象のLinuxサーバに接続し、Bashで以下のコマンドを実施します。

crontab -e

開いたテキストエディタで下記を追加します。

SHELL=/bin/bash

@reboot /home/ec2-user/manage/reboot.sh

このreboot.shに下記の一文を追加しています。

sudo yum update -y

また、以前に紹介した、コマンドをreboot.shに登録しています。

今回、Cronの実行をec2-userにしたかですが、作業によっては6時間で済まない更新があるかもしれません。そのとき、AtコマンドのatqでAtの状況を確認し、atrmでスケジュールを削除できるのですが、Rootで動かしているのと、ログインユーザであるec2-userから確認するとき、sudo atqなど確認する必要があり、わすれそうなので、ログインユーザで設定しました。