問題タブ [cron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
10424 参照

ruby-on-rails - cron が特定のスクリプトを実行しないという問題をデバッグするにはどうすればよいですか?

毎日実行したい Rails スクリプトがあります。多くのアプローチがあり、クローン化されたアプローチが一部の人に嫌われていることは知っていますがscript/runner、それは私のニーズを満たしているようです.

ただし、スクリプトがスケジュールどおりに実行されません。

私のアプリケーションは/data/myapp/currentにあり、スクリプトは にありscript/myscript.rbます。次のように、問題なく手動で実行できますroot

これを行うと、特別なログ ファイル ( log/myscript.log) が期待どおりに記録されます。

cron毎朝午前 4 時に 実行するように設定しています。rootの crontab:

実際、今朝も実行しようとしたようです。

しかし、ログ ファイルにエントリがなく、更新すべきデータが更新されていません。ログ ファイルのアクセス許可 (テストとして) は、グローバルに書き込み可能に設定されていました。

CentOS 5で実行しています。

だから私の質問は...

  1. これをデバッグするための情報は他にどこで探すことができますか?
  2. これは SELinux の問題でしょうか? このエラーを解決するために設定または変更できるセキュリティ コンテキストはありますか?

ありがとうございました!

アップデート

ポールとルークの両方に感謝します。環境の問題であることが判明しstderr、ログ ファイルにキャプチャすることで、エラーを見つけることができました。

特定の Ruby 実行可能ファイルをコマンドに追加すると、うまくいきました。

0 投票する
19 に答える
78926 参照

linux - プログラムで新しい cron ジョブを作成するにはどうすればよいですか?

プログラムで新しい cron ジョブを追加できるようにしたいのですが、これを行う最善の方法は何ですか?

私の調査によると、現在のcrontabをダンプしてから新しいcrontabを追加して、それをcrontabに戻すことができるようです:

より良い方法はありますか?

0 投票する
8 に答える
5861 参照

java - 「コールバック」のスケジュールされた実行を処理するJavaライブラリクラス?

私のプログラムには、スケジューラと呼ばれるコンポーネントがあり、他のコンポーネントがコールバックしたい時点を登録できます。これは、Unix cron サービスと同じように機能するはずです。つまり、スケジューラに「1 時間ごとに 10 分後に通知する」ように指示します。

Javaには実際のコールバックがないことに気づきました。

これが私のアプローチです。すでにこのようなことをしているライブラリはありますか? 改善提案もお気軽にどうぞ。

スケジューラ パスへの呼び出しを登録します。

  • 時、分、秒、年、月、dom、dow を含む時間指定。各項目は指定されていなくてもかまいません。つまり、「毎時/分などに実行する」という意味です。(crontab と同じように)
  • スケジューラによって通知されたときに呼び出し元のオブジェクトに何をすべきかを伝えるデータを含むオブジェクト。スケジューラはこのデータを処理せず、格納して通知時に戻すだけです。
  • 呼び出し元オブジェクトへの参照

起動時、または新しい登録要求の後、スケジューラは現在のシステム時刻の Calendar オブジェクトで開始し、この時点に一致するエントリがデータベースにあるかどうかを確認します。存在する場合は、それらが実行され、プロセスが最初からやり直されます。そうでない場合は、Calendar オブジェクトの時間が 1 秒増加し、内容が再チェックされます。これは、一致するエントリが 1 つ以上存在するまで繰り返されます。(離散事象シミュレーション)

スケジューラは、そのタイムスタンプ、スリープ、およびウェイクを毎秒記憶して、それが既に存在するかどうかを確認します。たまたまウェイクアップして時間が経過した場合は、時間になってジョブが実行された場合と同様に、最初からやり直します。


編集:Quartzを教えてくれてありがとう。しかし、私はもっと小さいものを探しています。

0 投票する
5 に答える
78001 参照

windows - ユーザーがログオンせずにWindowsの起動時にスクリプトを実行する

これはWindows2003(またはそれ以降)のマシンで、毎朝電源が入りますが、数時間後まで誰もログオンしません。

その間の時間を使ってバックアップスクリプトを実行したいc:\ script \ backup.cmd

マシンが起動した後、どうすればこれを無人で開始できますか?

2つのレジストリキーを試しましたが、ユーザーがログオンした後にスクリプトが実行されました(遅すぎます)。

結局、そのようなオプションのあるWindows TaskSchedulerを使用しましたが、別の可能性があるのではないかと思いました。

0 投票する
1 に答える
8983 参照

linux - XDG_SESSION_COOKIE 環境変数は何のためのものですか?

Intrepid では gconftool が dbus バックエンドを使用しているため、最近 crontab と戦っています。これは、crontab から使用すると機能しないことを意味します。

それを機能させるには、ログイン時に関連する環境変数をエクスポートして、cron が実行されるときに dbus セッション アドレスを見つける必要がありました。

好奇心から、cronがどのような環境を見ることができるのだろうと思ったのですがHOME、私が持っているLOGNAMEのはPATH、、、、そしてこの新しいものだけでSHELLあることがわかりました。これは奇妙に見え、いくつかのグーグルがそれに関連する多くのバグやその他の機能要求を投げかけましたが、それが何をするのかを私に伝えるものは何もありません.CWDXDG_SESSION_COOKIE

私の本能は、この変数を使用して、cron ジョブを実行する前にソース ファイルにエクスポートしなければならなかったすべてのものを見つけることができるということです。

したがって、私の質問は次のとおりです。b) もしそうなら、どのように?c) それは (他に) 何をしますか?

皆さんありがとう

0 投票する
5 に答える
5046 参照

bash - 条件付きのcronジョブを作りたい

1 時間ごとに実行される cron ジョブがあります。xml フィードにアクセスします。xml フィードが利用できない場合 (これは 1 日に 1 回程度発生するようです)、「失敗」ファイルが作成されます。この「失敗」ファイルにはいくつかのメタデータが含まれており、スクリプトが再び実行され、XML フィードが再び機能する次の 1 時間に消去されます。

私が望むのは、最初の cron ジョブの数分後に実行される 2 番目の cron ジョブを作成し、「失敗」ファイルのディレクトリを調べ、そこにある場合は最初の cron ジョブを再試行することです。

cron ジョブを設定する方法は知っていますが、そのようなスクリプトを条件付きにする方法がわかりません。私はこれについて完全に間違った方法で行っていますか?

0 投票する
4 に答える
1263 参照

ruby-on-rails - 毎分実行されるメーラーに最適な Rails ソリューション

その時点で送信されるはずの電子メールを毎分データベースでチェックするアプリケーションがあります。これを、毎分 cron ジョブによって実行される rake タスクにすることを考えていました。これに対するより良い解決策はありますか?

私が読んだことから、これは理想的ではありません。なぜなら、レーキは毎分レール環境全体をロードする必要があり、これは高価になるからです。

考え?

ありがとう。

0 投票する
5 に答える
9450 参照

cron - cron で php スクリプトを実行する方法

これに関する多くの質問や記事を見つけましたが、まだいくつかの問題があります。次のコマンドを使用しています /usr/bin/php home/domain.com/public_html/cron/script.php 次のエラーが表示されます Status: 404 Not Found X-Powered-By: PHP/5.2.8 Content-type : テキスト/html

入力ファイルが指定されていません。

私は Cpanel を使用しています。ファイルは domain.com/cron/script.php でホストされています。

0 投票する
10 に答える
271889 参照

linux - プロセスが停止した場合に再起動する bash スクリプトを作成するにはどうすればよいですか?

キューをチェックし、各アイテムに対してアクションを実行する Python スクリプトがあります。

実行されているかどうかを確認し、実行されていない場合は開始する bash スクリプトを作成するにはどうすればよいですか。おおよそ次の疑似コード (または、次のようなことを行うべきでしょうps | grepか?):

crontab から呼び出します。