質問

cron を実行しているLinuxマシンが数十台あります。crontabを何らかのリビジョン管理システムに入れたいと思います。ソース管理にはMercurial( hg )を使用するので理想的ですが、このタスクに適した他のシステムがある場合は検討します。

私の状況に固有の1つの側面は、すべてのcrontabが共通のユーザー(実在の人物ではなく、「サービス」ログインのプレースホルダー)に属していることです。 cronジョブが実際に実行される特別なアカウントではなく、変更履歴に各変更の実際の作成者を含めるようにします。

役に立ちましたか?

解決

crontab -lは、crontabを標準出力にダンプします。標準出力はファイルにリダイレクトできます。これをファイルにリダイレクトするジョブ(当然ながらcron)を使用してファイルをリダイレクトし、必要に応じてソース管理にプッシュすることができます。

他のヒント

http://joey.kitenet.net/code/etckeeper/

そのサイトから:

  

etckeeperは、/ etcをgit、mercurial、darcs、またはbzrリポジトリに保存するためのツールのコレクションです。 apt(およびyumやpacman-g2を含む他のパッケージマネージャー)にフックして、パッケージのアップグレード中に/ etcに加えられた変更を自動的にコミットします。 revison制御システムが通常サポートしていないファイルメタデータを追跡しますが、 / etc / shadow の権限など、/ etcにとって重要です。これは非常にモジュール化されており、設定可能ですが、リビジョン管理の基本を理解していれば簡単に使用できます。

LinuxシステムがLFS(Linuxファイルシステム標準、IIRC)に準拠している場合、/ etcには構成ファイルのみを含める必要があります。 / etc全体をCVSにインポートして、かなり良い経験をしました。

唯一の問題は、rootだけが変更をコミットできることです。そのため、誰が何かを壊したのかを見るのは少し困難でした。これは、すべての管理者に3文字の短縮名を割り当て、各コミットをこの名前で開始する必要があるというルールを設定することで解決できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top