我有一个 shell 脚本,需要使用 cron 来实现自动化。在我们的办公室,有一台特定的机器,我必须登录才能使用 cron。我的问题是,我编写的脚本与 git 交互,使用 git 命令来拉取代码并切换分支。我能够安排 cron 作业并运行脚本的机器没有有 git。我有一台单独的机器,当我使用 git 时我会登录它。有没有一种简单的方法可以让我从 cron 系统运行脚本并从 git 系统运行 git 部分?
更新:我仍然很感兴趣是否可以做到这一点,但我的团队已经购买了一台新机器,我们将按照我们的选择进行设置,这意味着它将有 cron 和 git。感谢您的任何想法
最佳答案
正如上面有些人提到的,ssh 是实现此目的的方法。这是我在工作中经常使用的 bash 行,用于从其他服务器收集数据:
ssh -T $server -l username "/export/home/path/to/script.sh $1 $2" 1>traf1.txt 2>/dev/null
上面的代码示例将以用户用户名的身份连接到ip $服务器,并运行脚本script.sh,并向其传递参数$1和$2。您还可以将命令输出分配给变量,而不是重定向,就像使用脚本中的任何其他命令一样。
PS:请注意,为了使上述功能正常工作,您需要设置 passwordless login这些机器之间。否则,您的脚本将中断以请求密码输入,这很可能不是所需的行为。
关于linux - 在两台机器上运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14146618/