1人のユーザーの複数のcrontab


13

1人のユーザーに複数のcrontabファイルを使用する方法はありますか?ユーザーごとのcrontabではなく、プロジェクトごとのcrontabファイルの行に沿って何かを考えています...

任意の助けをいただければ幸いです...

回答:


13

とにかく別のファイルでcrontabを維持し、でインストールすることをお勧めしますcrontab filename。(crontabファイルをソース管理システムに保管しています。)

複数のcrontabファイルを作成し、それらすべてをインストールできます

cat file1 file2 file3 | crontab

このcrontabコマンドは通常、ユーザーごとに1つのcrontabのみを管理します。ただし、システムcrontabファイルを/etc/cron.dディレクトリに追加できます。これらのファイルには、ジョブのユーザーを示す時間指定の後に追加のフィールドがあり、ユーザーごとに複数のファイルを持つことができます。そのうちの1つに構文エラーがあったとしても、他は引き続き実行されます。

そのディレクトリにファイルをインストールするにはルートアクセスが必要です。

man 5 crontab 詳細については。

このような通常のcrontabメカニズムを回避することは良い考えだとは思いませんが、うまくいくはずです。

(これは、おそらく「Vixie Cron」実装を想定しています。これはおそらくシステムで使用されるものです。)

注:試してみたいと思われるかもしれません

crontab file1 file2 file3 # WRONG

しかし、簡単な実験では、最初のファイル名を除くすべてのファイル名が静かに無視されることが示されています。マニュアルページには、単一のファイル名が受け入れられると記載されていますが、複数のファイル名が指定された場合に何が起こるかは記載されていません。


今日それをやった。それは簡単ですが、これの目標は、各プロジェクトの「マネージャー」が自分のcrontabを制御できるようにすることです。そのアプローチでは、誰かがファイルの1つを変更するたびに結合する必要があります。つまり、コンパイルする必要があるすべてのファイルを追跡する必要があります

1
そのため、自動化するプログラム(またはスクリプトなど)を作成します。crontabcrontabエントリからコマンドを呼び出すことができることに注意してください。
キーストンプソン

1
@MateuszKonieczny:それは正当な理由ですが、誤ってcrontabを消去するのも簡単です。crontab引数なしで、標準入力から新しいcrontabを読み取ります。
キーストンプソン

1
@MateuszKonieczny:いいえ、私はそれをCVSリポジトリに保管し、$HOME更新するときにそれをコピーします。(これを開始したときにGitが存在しなかったため、CVSを使用しています。)
キーストンプソン

1
@KeithThompsonああ、やった!私は、人々が進化やgnomeなしで「スクラッチ」からFedora Core 24を実行するのを支援するドキュメントを作成しています:github.com/barrycarter/bcapps/blob/master/FEDORA。あなたのソリューション(GITディレクトリにbc-public-cronを作成し、その外側にbc-private-cronを作成)は、法案にうまく適合しています。
バリーカーター

4

どうしてそうするか?crontabで複数の行を使用できます-私もそれが仕事をするだろうと思います。

おそらく使用できるディレクトリもあります。

cron.d/
cron.daily/
cron.hourly/
cron.monthly/
cron.weekly/

それが今の状態です:)これを行う方法があるかどうかを知りたいだけです
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.