そのため、毎日決められた時間にcrontabでnode.jsファイルを実行しようとしました。私はこうして設定しましたcrontab -e
。次のコマンドを使用して毎分実行されることをテストしました。
* * * * * //path of files
これは基本的に非常にうまく機能します。ただし、特定の時間に設定しようとすると実行されません。たとえば、午後12時48分に実行しようとすると実行されません。
48 12 * * * //path of files
私はすべてを修正しようとしましたが、明らかに時間の問題です。オレゴン州に位置するEC2サーバーです。時間をオレゴン時間に調整しましたが、まだ実行されていません。
毎分実行するのではなく、特定の時間を設定する場合は、crontabコマンドで変更する必要がある特別なことはありますか?実行するには、5分以上事前に特定の時間を設定する必要がありますか?
なぜこれが特定の時間に私のファイルを実行しないのかわかりませんが、毎分うまく動作します。
答え1
解決策はikkachuの提案として提供されます。具体的には、次のように入力してください。
grep -re cron /var/log/
またはそのようなもの。
これにより、時間やその他の情報を含むリストが表示されます。
リストされた時間は、サーバーが実際に UTC 時間であることを示します。したがって、UTC時間を調整することで問題を解決しました。
実際の場所に関係なく、サーバーが使用された正確な時間を見つけることは、この種の問題に対する解決策です。