〇分起きに走らせたい処理があります。
EC2でcronを設定する方法を探し、crontabを使ってみましたが、処理が実行されません。。
crontabの記述が誤っているのか、それともcrontab自体がいけないのかわからず困っております。
教えていただけると嬉しいです。
【1分ごとに、/home/ec2-user/html/cron/test.php の処理を実行させる場合】
▼以下行ったことです。
①SSH ターミナルで$ sudo vi /etc/crontab
を打つ。
②crontabに* /1 * * * /usr/bin/php /home/ec2-user/html/cron/test.php
を追記して保存
しかし処理が実行されません・・・
ご教示いただけますと幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
/etc/crontab
はroot権限で実行されるもので、通常はシステムジョブを定期実行したい際に使うものです。
目的からして今回使うべきはそこではありません。
そのファイルを実行したいユーザのcrontabを編集してそこに設定してください。
ただ、一応それでも実行されるはずです(root権限なので権限が足りないことはない)が、実行されないのはcron記法の書式が誤っているからです。
* /1 * * *
1時間おきに実行したいなら* */1 * * *
が正しい書き方です。
それから個人的にはcronの設定編集にcrontabコマンドを使うことを推奨していません。
なぜかというと、crontab -e
で、たしかに現在のユーザのcronの設定を編集できますが、
その際にcrontab -r
を間違って打ってしまうとcronの設定が消えます。
特に確認とかはされず、一発で設定が空になります。
eとrはQWERTYのキーボードだと隣にあるのでこれは非常にリスクが高いです。
なので、vim等を使って明示的に/var/spool/cron
配下にある該当ユーザのcronの設定を編集する法を自分は推奨します。
ec2-userのcron設定ファイルを編集するなら例えば下記のようにするといいでしょう。
bash
1sudo vim /var/spool/cron/ec2-user
投稿2020/11/20 16:56
総合スコア7588
0
ベストアンサー
①SSH ターミナルで$ sudo vi /etc/crontab を打つ
設定するファイルが不適切です。
cronは実行したいユーザーの権限で設定しましょう。
ec2-userで設定するならcrontab -e
で編集して設定しましょう。
※/var/spool配下を直接いじる必要はありません
②crontabに* /1 * * * /usr/bin/php /home/ec2-user/html/cron/test.phpを追記して保存
実行時間の指定にミスがあります。一つ目と違ってこちらは検索して調べやすいと思うので、再度調べてみてください。
投稿2020/11/20 07:12
編集2020/11/20 19:38総合スコア6426
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/20 17:01
2020/11/20 17:08
2020/11/20 17:13 編集
2020/11/20 17:29
2020/11/20 17:36
2020/11/21 07:24
2020/11/21 07:30
2020/11/21 07:40
2020/11/21 07:50
2020/11/21 08:33
2020/11/21 12:08
2020/11/21 23:18
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/20 17:20
2020/11/21 07:25
2020/11/21 23:15