【发布时间】:2021-12-14 17:27:45
【问题描述】:
我已经定义了一个字符串数组(PC 名称)。该脚本将从远程 PC 复制 File 1 并将其保存在本地。 grep 命令将读取File 1 并将结果保存在另一个文件中。但是当一台电脑关机或没有连接网络时,脚本不会执行,我必须按Ctrl+C然后它会移动到下一台电脑。
我如何更改此脚本,以便在 PC 关闭或未连接到网络或被锁定时移动到下一台 PC?例如,当user2@PC2 关闭或未连接网络或锁定(需要密码)时,脚本应自动移动到user3@PC3。它应该从每个在线user@PC 中复制File1 一次,然后运行 grep。
#!/bin/sh
word=name
declare -a arr=("user1@PC1" "user2@PC2" "user3@PC3")
for i in "${arr[@]}"
do
for t in 1 2 3
do
scp ${i}:/PCpath/File1 ./File${t}
grep -e "${word}" "File${t}" >| /home/new/File${t}`_$(date`)
done
done
【问题讨论】:
-
scp如果无法连接到服务器应该会超时。 -
您可以先ping远程机器,如果没有响应则跳过。
-
@Barmar 谢谢,但如果电脑没有响应,我如何更改上述脚本以跳过?