私は多くのコンピュータを持っており、その間に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に追加されます。