我定义了一个字符串数组(PC的名称(。该脚本将从远程PC复制File 1
并将其保存在本地。grep命令将读取File 1
并将结果保存在另一个文件中。但是,当电脑关闭或未连接网络时,脚本将不会执行,我必须按Ctrl+C,然后它将移动到下一台电脑。
如何更改此脚本,以便每当电脑关闭、未连接网络或被锁定时,它都会移动到下一台电脑?例如,当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
在尝试从远程电脑复制之前,使用ping
测试远程电脑是否已启动。
for i in "${arr[@]}"
do
if ping -q -c 2 "$i"
then
for t in 1 2 3
do
scp ${i}:/PCpath/File1 ./File${t}
grep -e "${word}" "File${t}" >| /home/new/File${t}`_$(date`)
done
else
echo "$i down, skipping"
fi
done