2009-09-24 4 views

答えて

8

UNIX cronのAPIはファイルシステムです。ユーザーcrontabをインストール/編集するコマンドはcrontabです。 crontabコマンドの主な理由は、ユーザーにセキュリティ制限を適用することです(例:/etc/cron.allowおよび/etc/cron.deny)。

システムのcronタブは、/etc/cron.d(およびcron.daily/weekly/monthly)に置かれた単なるファイルです。特に注意する必要はありません。ファイルを適切な場所にドロップしてください。 /etc/crontabのトップを引用すると:

# /etc/crontab: system-wide crontab 
# Unlike any other crontab you don't have to run the `crontab' 
# command to install the new version when you edit this file 
# and files in /etc/cron.d. These files also have username fields, 
# that none of the other crontabs do. 

フォーマットはcrontabの(5)に記載のユーザのcrontabと同じですが、右のコマンドの前にユーザーフィールドと。

SPACE 時間 SPACE 日の-月 SPACES SPACE 曜日:SPACEは、空白(1以上)及び0と7平均日曜日の両方を意味しますSPACE ユーザー SPACEのcronのつま先を踏まないであろう通常のPOSIXファイルへのアクセスを使用してコマンド

renameは常に、古いファイルまたは新しいファイルのいずれかを指すターゲット名を持ちますが、決して何もしません。したがって、ファイルを新しい名前に書き込んだり、古い名前の上に名前を変更することができます。

多くのプログラミング言語には、crontabの作成に役立つAPIがあります。たとえば、CPAN (Perl) has severalです。

+1

したがって、私は/etc/cron.d/にファイルをドロップすると、次の繰り返しでcronがファイルを削除しても害はありませんか?私はcrontabを通過する必要はありませんか? – jldupont

+2

@ Jean-Lou Dupont:正解。 /etc/cron.dにファイルをドロップするだけです。 – derobert

-2

そうではありませんが、crontabを使用してスクリプトを修正するのは難しくありません。そのようなこと(コードレベルのAPIをシステムファシリティに期待するのではなく、テキストツールを使って作業すること)は、実際にはUnixのパラダイムの一部です。

また、好きな言語でクイックスクリプトを使用して「スリープ」しても、かなり簡単な「cron API」を実装できます。 :)

0

あなたは間違いなくそれをラップすることができます。 ruby gem Wheneverを参照してください。

0

ウェブベースのAPIを参照している場合は、ウェブアプリケーションがコールバック/ウェブフックをトリガーするために使用できるREST APIを構築しています。 SaturnAPI's Cronをチェックしてください。ジョブのスケジュール、表示、および削除を行うHTTPリクエストを作成します。以下はジョブのスケジューリングの例です:

curl -X POST \ 
    https://saturnapi.com/cron/jobs \ 
    -H saturnapi-access-key:'YOUR_SATURNAPI_ACCESS_KEY' \ 
    -d dateTimeUTC='2015:09:25 14:30' \ 
    -d dateTimeFormat='YYYY:MM:DD HH:mm' \ 
    -d callbackURL='https://your.verified.domain.com' \ 
関連する問題