0
0

More than 3 years have passed since last update.

AWSでcrontabを使用する手順

Last updated at Posted at 2021-05-23

概要

あるshellスクリプトを定期実行するため、AWSでcrontabを使いました。
一つハマりポイントがあるので、記録として残しておきます。

手順

1 実行権限の付与

sudo chmod +x hoge

sudo をつけずに実行してもエラーが出ませんが、実行権限は付与されません。
緑色になっていることを確認しましょう。

2 パスの修正

実行はホームディレクトリから行われると考えます。
パスはすべて絶対パスにしておくか、
以下のような一文を各シェルスクリプトに追加する工夫をします。

cd `dirname $0`

3  設定ファイルの作成

ツールでの作成をおすすめします。

また、設定はcrontab -e で変更できますが、
ファイルを別に作成し、それを上書きした方が、バックアップが残せ、消去してしまったり、
誤動作があった場合でも対応できるため、多くの人が推奨しています。

例)毎分実行する場合

crontab.txt
* * * * 0 /home/ec2-user/environment/実行ファイル1.sh
* * * * 0 /home/ec2-user/environment/実行ファイル2.sh
* * * * 0 /home/ec2-user/environment/実行ファイル3.sh

4 crontabへの登録

crontab crontab.txt 

5 実行の確認(デバック)

ターミナルを使用していると、実行結果がメールで届いたとの通知(You have new mail in ディレクトリのパス)がくるので、正常に実行できているか確認しましょう。

cat ディレクトリのパス

ハマりポイント

AWSの認証の都合上、ルートユーザーが一定の期間ごとにログインしないと、エラーが起きて自動実行されません。
ルートユーザーがログインする以外で解決策分かる人いたら教えてください。

The provided token has expired

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