在工作站上线后立即排队执行远程命令

我正在pipe理一个工作站,最多考虑运行基于Ubuntu的Linux Mint的5个工作站。 我自己的控制计算机也运行薄荷。 在主机上线时排队命令并让它们执行的好方法是什么?

应满足以下要求:

  • 当工作站处于脱机状态时,从队列添加/删除命令(本地队列)
  • 输出和退出代码应该logging或邮寄(在我的本地计算机上)
  • 保持简单:没有大的pipe理软件或Web界面

我已经在考虑。 我可以使用batch将命令传输到队列中的远程at并在系统空闲时运行。 但是我不确定当用户突然closures工作站时,远程atq是否持久。

有没有一个软件或最佳做法呢?

你的工作站可以利用cron的内置@reboot属性 – 如果你把/etc/crontab放在这样的行里,cron会在系统启动的时候执行你想要的任何东西:

 @reboot root /path/to/your/script 

该脚本可以从主工作站复制新的即将执行的命令,然后执行它们,或者只是通知主工作站,嘿,我在线,请让我知道是否有什么新的事情要做。

或者,脚本可以使用rsync并获取应该运行的任何脚本。 也许你可以在你的主工作站有一个目录,你放弃客户端应该运行的脚本? 像/opt/scripts/ 。 客户端将rsync脚本目录,然后比较他们的本地日志/状态文件,如果他们需要运行一些脚本或不。

另外,你可以安装一个实际的pipe理软件,如Puppet或cfengine,但这是你投反对票。 🙂