我有以下脚本来检查更新,如果可用,下载所有更新,但效率不高,因为它需要登录 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/