Gitを使用してcrontabの変更を追跡する

Gitを使用してcrontabの変更を追跡する

git追跡用に使いたいですcrontab

新しいgitリポジトリを初期化しました/var/spool/cron/crontabs/

これで問題は、crontabを保存すると、ヘッダーの2行目にタイムスタンプが含まれているために変更されることです。

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.ubNueW/crontab installed on Thu Aug  1 06:29:24 2019)

これらの無関係な変更を無視する最も簡単な方法は何ですか?

これ重複する質問がある可能性があります私の質問のポイントを解決していません:crontabで関係のない最初の2行を無視する方法。代わりに、いくつかのフックなど、私が尋ねていない他の問題を解決します。

ベストアンサー1

cronスプールディレクトリのファイルに手動で触れないでください。その中のファイルの変更はcronデーモンに正しく通知されず、スケジュールの更新はデーモンが再起動されるまで有効になりません。 (一部のcronデーモンの実装では、定期的にスプールをチェックして最新のファイルがあるかどうかを確認できますが、この動作は一般的ではありません。cron(8)ドキュメントを確認してください。)

cron(8)Ubuntuのマニュアルによると

このディレクトリのcrontabには直接アクセスしないでください。crontabアクセスして更新するには、コマンドを使用する必要があります。

crontab新しい計画をロードしたり既存の計画を削除したりするには、常にこのコマンドを使用する必要があります。

Gitでcrontabを維持するのに問題はないと思います。ただし、上記のように/var/spool/cron/crontabsリポジトリをチェックアウトしないでください。代わりに、他の場所に存在させ、次の方法を使用して手動でcrontabをロードします。

crontab my-crontab.txt

その中にはmy-crontab.txtGitを使って管理するファイルもあります。

これにより、cronデーモンがファイルを変更するときに発生する問題も回避できます。

おすすめ記事