在两台机器上运行脚本

时间:2013-01-03 20:23:49

标签: linux shell

我有一个shell脚本,我需要使用cron自动执行。在我们的办公室,有一台特定的机器,我必须登录才能使用cron。我的问题是,我编写的脚本与git交互,使用git命令来提取代码和切换分支。我能够安排cron作业并且正在运行脚本的机器上有git。当我使用git时,我有一个单独的机器登录。有没有一种简单的方法让我从cron系统运行我的脚本并从git系统运行git部分?

更新:我仍然感兴趣,如果可以做到这一点,但我的团队已经获得了我们将选择的新机器,这意味着它将有cron和git。感谢您的任何想法

1 个答案:

答案 0 :(得分:1)

正如上面提到的那样, ssh 就是这样做的方法。这是一个bash系列,我在工作中大量使用,用于从其他服务器收集数据:

ssh -T $server -l username "/export/home/path/to/script.sh $1  $2" 1>traf1.txt 2>/dev/null

上面的代码示例将以用户用户名连接到ip $ server并运行脚本 script.sh ,并将参数传递给$ 1和$ 2。您也可以将命令输出分配给变量,而不是重定向,就像在脚本中使用任何其他命令一样。

PS:请注意,要使上述功能正常工作,您需要在这些计算机之间设置passwordless login。否则,您的脚本将中断请求密码输入,这很可能不是所需的行为。