![cron ジョブを配置するのに最適なディレクトリは何ですか?](https://rvso.com/image/782603/cron%20%E3%82%B8%E3%83%A7%E3%83%96%E3%82%92%E9%85%8D%E7%BD%AE%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E6%9C%80%E9%81%A9%E3%81%AA%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
cron ジョブを実行するマシンがあります。cron ジョブ ファイルを (scp 経由で) アップロードしたいと考えています。以下は cron ジョブ ファイル (test.cron) の例です。
* * * * * echo "test" > /tmp/test_cron
これを実行してcrontab -e
から保存すると、 になり/var/spool/cron/crontabs/$USER
、これを使用できなくなります (会社のポリシー)。
test.cron
このファイルを に配置すると/etc/cron.d
実行されません。このファイルの構文を変更するか、このファイルを別の場所に配置し、cron デーモンによって取得されて実行されるようにする必要がありますか?
アップデート:
test.cron
の内容を貼り付けるとcrontab -e
実行されます。crontab 構文は有効なようです。
私の質問はtest.cron
:上記の内容のファイルを cron デーモンによって取得されるようにするには、どこに配置/ドロップ/配置する必要がありますか?
詳しい内容: cron ファイル コマンドをどの間隔で実行する必要があるかは事前にわかりません。これらのいずれも適切な場所ではない可能性があります。「cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/」私が間違っている可能性があるため、この質問をしています。
答え1
/etc/cron.d
crond の機能で、明示的に有効にする必要がある場合があります。Debian ベースのディストリビューションではデフォルトで有効になっています。Debian/etc/cron.d
派生版を使用している場合は、これが適切な場所です。
Debian の cron のマニュアルページには次のように書かれています:
[/etc/crond.d]内のファイルは、run-parts(8)で使用されるのと同じ命名規則に準拠している必要があります。つまり、大文字と小文字、数字、アンダースコア、ハイフンのみで構成されている必要があります。つまり、ドットを含めることはできません。
したがって、 の名前を例えば に変更する必要がありますtest.cron
。test_cron
そうすれば、機能し始めるはずです。