2

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

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

4

1 回答 1

2

正如上面一些人提到的,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:请注意,为了使上述工作正常,您需要在这些机器之间设置无密码登录。否则,您的脚本将中断以请求密码输入,这很可能不是所需的行为。

于 2013-01-21T14:08:20.663 回答