【问题标题】:How to script a test for Perforce connectivity across multiple servers如何编写跨多个服务器的 Perforce 连接测试脚本
【发布时间】:2012-02-29 02:50:56
【问题描述】:

我正在尝试自动化一些我需要在构建服务器时对它们进行的检查。我需要 ssh 到服务器,检查可用空间,并检查是否有 p4 连接。我将结果输出到日志中,稍后对其进行解析。我下面的代码有效,但如果 p4 连接失败,我不会得到任何真正的输出,它只会杀死 ssh 并移动到下一个服务器。有没有办法只对检查 p4 连接的部分设置时间限制,如果达到该限制,我可以将“p4 错误”输出到日志?所以,就好像我只在 ssh 中运行的这条命令上有一个计时器:

echo \\\"<CONN>\\\" export P4PORT=${p4port}; /usr/local/bin/p4 info | grep Server | grep address; \\\"</CONN>\\\";"

这是我目前拥有的一个示例:

servers="server1 server2 server3"
dated=`date +%Y%m%d`
log="p4connectivity_${dated}.txt"

echo "Script starting at `date` > $log
for server in $servers
do
        echo $server >> $log
        ssh -o ConnectTimeout=60 ${user}@${server}.${fqdn} "echo \\\"<BEGIN>\\\"; date -u +%m%d%Y_%H%M%S_%Z; echo \\\"</BEGIN>\\\";  echo \\\"<FREE_SPACE>\\\"; df -k | grep app; echo \\\"</FREE_SPACE>\\\"; echo \\\"<CONN>\\\" export P4PORT=${p4port}; /usr/local/bin/p4 info | grep Server | grep address; \\\"</CONN>\\\";" >> $log 2>&1
done

echo "Script is finished"

我想我可以这样做:

【问题讨论】:

    标签: shell ssh perforce


    【解决方案1】:

    你可以试试p4 ping 命令。我不确定,但它可能具有与 p4 info 不同的错误特征。

    更好的是,你为什么不直接从本地机器发出p4 info,而不是通过 ssh 来做呢?

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 2023-03-30
      • 1970-01-01
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多