多计算机cron

多计算机cron

我有很多计算机,我在它们之间进行 ssh。

我有一个 cron 文件,我手动将其输入到每台计算机中。当我更改此 cron 文件时,我必须手动 ssh 到每台计算机以相应地更新其 cron。

有没有办法让每台电脑的cron,成为这个文件的一个功能?

这样我就可以只有一个文件,它可以在计算机之间同步,从而更新每台计算机中的 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 中。

相关内容