2012-02-15 8 views
-1

特定の期間有効にするフラグが必要なプロジェクトでcronを利用しようとしていて、もう一度無効にします。フラグは、ファイル内または共有メモリ内にある可能性があります。CRON式の操作

私はかなり新しくcronですが、私はいつでもcmdを起動できるようにスケジュールを立てることができます。だからフラグを設定したいのであれば、ファイルを読み込んだり共有メモリにアタッチしてフラグを更新してそれらを閉じて終了するプログラムを書くことができます。しかし問題は、X分後に再びフラグを無効にする必要があるということです。

私は仕事を助ける2つのcronの仕事があると思った。我々は異なる引数で同じcmdを起動することができ、私はそれに応じてフラグを交換することができます。これは良いアプローチですか?

もしそうなら;私は与えられたcronの表現を操作することに立ち往生しています。私が(定期的な)開始時間にフラグを交換するexpと、フラグがアクティブである必要がある期間だけを持っていれば、効果的に持続時間(日/時間/分の何か)を既存のcron expに追加して新しいexpを作成する方法はありますか?または、それを達成するためにフィールドを追加して調整するロジック全体を記述する必要がありますか?

私はJavaとC++で書かれたコンポーネントを持っており、このcronのEXPにアクセスできます。だからどちらかの言語でそれをするのは私にとっては大丈夫です。今私はC++で試しています。

# */5 * * * * echo crontabfoo > /dev/null 

はい、普通のコメント:

+0

しばらくしてコマンドを無効にすると、10分と言えば、次の10分間に1回だけプログラムを開始したいということですか?なぜcronジョブを使うのですか?なぜあなたは 'at at now + 5 minutes? 'と言うことができるのでしょうか? –

+0

そのコマンドは周辺でもスケジュールできます。毎週午前3時に開始し、午前5時に停止するようにします。そんな感じ。 – vpram86

+0

それを停止する必要があるのはサーバープロセスですか?他のプログラムは通常実行され、終了すると終了します。その場合は、開始用と停止用の2つのエントリが必要です。 –

答えて

1

古典的なcrontabのラインが

*/5 * * * * echo crontabfoo > /dev/null 

非アクティブのcrontabラインフラグ付き。 5分ごとに1回実行され、6分後にコメントアウトすると、2回実行する短いチャンスが残っているので、近い将来に具体的な時間を指定するのが好きかもしれません。

+0

私は私のプログラムで有効/無効を定期的にフラグを達成したい。私はそれのためにCRONを利用しようとしています。私はプロセスを継続的に実行しているとします。私は自分のプロセスの中にある旗を、午前3時から午後3時まで、週の初めの1日ごとに真実にしたい。 – vpram86

+0

別の通知プロセス(既に実装されているようです)を使用してフラグについて示す方法を見つけました。 – vpram86