0
0

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 1 year has passed since last update.

AmazonLinux2 + cron + reboot で正しく再起動させるには

Last updated at Posted at 2022-10-26

はじめに

Amazon Linux 2で運用しているサーバーをyum updateで更新したが、アクセス数が低い夜中に再起動したくなった。
そこで以下の設定をcronに設定する。

crontab -e
0 5 * * * reboot

しかし次の日確認したら再起動されていなかったので、その確認方法・対応方法をメモとして残しておく。

結論

rebootコマンドを絶対パスで指定する。

crontab -e
0 5 * * * /usr/sbin/reboot

確認方法

これまで他のディストリビューションで実施した際は問題なかったのでなんで???と思ったが、cronではPATHが通っていないことがあるので、まずはPATH環境変数の確認。そこで以下を実施。

crontab -e(cronでPATH環境変数出力)
MM HH * * * echo $PATH > /root/cron.log

※上記MMは数分後にしておいた方が吉。1分後だと間に合わないケースも。

↑で出力された/root/cron.logを確認。

cronのPATH環境変数
# cat /root/cron.log
/usr/bin:/bin

ふむふむ。

rebootはどこ?

whereis
# whereis reboot
reboot: /usr/sbin/reboot /usr/share/man/man2/reboot.2.gz /usr/share/man/man8/reboot.8.gz

ということで予想通りPATHが通っていないことが判明。

対応方法その1

crontab -e
export PATH=$PATH:/usr/sbin

0 5 * * * reboot

上記のようにcrontab -eで開いた後に、冒頭でPATH環境変数に/usr/sbinを設定する。

対応方法その2

crontab -e
0 5 * * * /usr/sbin/reboot

冒頭の「結論」でも記載したがrebootコマンドを絶対パスで指定する。
今回はこちらの方法で対応。

無事に再起動した。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?