linux - 如何 SSH,验证更新是否可用。如果是,请下载更新

标签 linux bash shell ssh scp

我有以下脚本来检查更新,如果可用,下载所有更新,但效率不高,因为它需要登录 SSH 两次。欢迎任何评论,让它变得更好

#!/bin/sh
# Check configuration update every hour
# version 1.0
if ssh -i /root/.ssh/id_rsa abc@azx.example.com test -e /home/abc/update \> /dev/null 2\>\&1 ; then
    rsync -avz -e "ssh -i /root/.ssh/id_rsa" abc@azx.example.com:/home/abc/ghz_upd/ /tmp/ghz
    cd /tmp/ghz
    sh ./ghz_upd.sh
    rm -r /tmp/ghz
else
    echo Not found
fi

最佳答案

您可以尝试使用 ControlMaster 功能,这使得多个 ssh 进程共享一个连接成为可能。

要为给定主机配置它,请将以下内容添加到您的 ~/.ssh/config 文件中:

host *.example.com
Controlmaster yes                               
Controlpath ~/.ssh/socket/%r@%h:%p

关于linux - 如何 SSH,验证更新是否可用。如果是,请下载更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467984/

相关文章:

java - 开始在 XAMPP 上使用 openid4java?

linux - 在shell脚本中最后一次出现单词之前获取子字符串

bash - 如何在 Perl 中使用 Shell 参数扩展?

python - 为什么我收到错误 : "buffsize musth be an integer" for mv shell command

linux - cron 任务不写入文件

linux - 如何在 brackground "watch"命令中记录到文件?

庆典,Linux : Set difference between two text files

linux - 为 shell 脚本创建一个计数器

linux - 创建随机 MSISDN 10 位数字

php - 在 php 脚本中使用 python 生成输出文件