マルチコンピュータクローン

マルチコンピュータクローン

私は多くのコンピュータを持っており、その間にsshを使用しています。

各コンピュータに手動で入力するcronファイルがあります。このcronファイルを変更するときは、各システムに手動でSSHを接続してそれに応じてcronを更新する必要があります。

各コンピュータのクローンをこのファイルの機能にする方法はありますか?

これにより、コンピュータ間で同期されるファイルが1つしかない可能性があるため、各コンピュータのcronが更新されます。

答え1

この回答は、あなたが特定のユーザーのcrontabに興味があると仮定していますmyuser

ファイル()からcronを再度読み取るようにスケジュールされたcronジョブは、設定がcrontab crontab.txt非常に簡単ですが、ssh次のように使用できます。

ssh myuser@remote crontab - <crontab.txt

crontab.txtローカルストレージはどこにありますか?

これはループに入ることができます:

#!/bin/bash

remotes=( remote1 remote2 remote3 )

for remote in "${remotes[@]}"
do
    ssh "myuser@$remote" crontab - <crontab.txt
done

上記で最初にスキップした別のアプローチは、crontabの作業を再度読むことです。

少なくとも、次のタスクを実行するにはcrontabが必要です。

0 * * * * crontab "$HOME/crontab.txt"

crontab.txtこの操作は毎時間ホームディレクトリからスケジュールを再読み込みします。ファイルには常に少なくともこの操作を含める必要があります。その後、そのファイルに別のタスクを追加できます(別の場所でファイルを同期することによって)、そのタスクはその期間中にユーザーのアクティブなcrontabに追加されます。

関連情報