Bash 脚本错误服务器问题
Bash script error server issue
我有以下 bash 脚本
#!/bin/bash
servers="server1.... server2...."
seconds="3" # value for servers to differ (in seconds)
now=$(date +%s)
for server in $servers
do
ssh -l root ${server} "( date +%s )" > /tmp/.tmpdate
echo "-" $(date +%s) >> /tmp/.tmpdate
difference=$(awk -F '-' '{if (- < 0) { print - } else { print -} }' /tmp/.tmpdate)
if [[ $difference -le $seconds ]] ; then
echo $server - IN SYNC
else
echo $server - NOT IN SYNC
fi
done
我收到 difference=$(awk -F '-' '{if (- < 0) { print - } else { print -} }' /tmp/.tmpdate)
行的语法错误,这导致脚本的其余部分不准确。有什么想法吗?
我们可以简化一些:
#!/bin/bash
servers="server1.... server2...."
seconds="3" # value for servers to differ (in seconds)
for server in $servers
do
remote=$(ssh -l root ${server} date +%s )
now=$(date +%s)
if [ "$remote" -gt "$now" ]
then
diff=$(expr $remote - $now)
else
diff=$(expr $now - $remote)
fi
echo $diff
if [[ $diff -gt $seconds ]] ; then
echo $server - NOT IN SYNC
else
echo $server - IN SYNC
fi
done
我有以下 bash 脚本
#!/bin/bash
servers="server1.... server2...."
seconds="3" # value for servers to differ (in seconds)
now=$(date +%s)
for server in $servers
do
ssh -l root ${server} "( date +%s )" > /tmp/.tmpdate
echo "-" $(date +%s) >> /tmp/.tmpdate
difference=$(awk -F '-' '{if (- < 0) { print - } else { print -} }' /tmp/.tmpdate)
if [[ $difference -le $seconds ]] ; then
echo $server - IN SYNC
else
echo $server - NOT IN SYNC
fi
done
我收到 difference=$(awk -F '-' '{if (- < 0) { print - } else { print -} }' /tmp/.tmpdate)
行的语法错误,这导致脚本的其余部分不准确。有什么想法吗?
我们可以简化一些:
#!/bin/bash
servers="server1.... server2...."
seconds="3" # value for servers to differ (in seconds)
for server in $servers
do
remote=$(ssh -l root ${server} date +%s )
now=$(date +%s)
if [ "$remote" -gt "$now" ]
then
diff=$(expr $remote - $now)
else
diff=$(expr $now - $remote)
fi
echo $diff
if [[ $diff -gt $seconds ]] ; then
echo $server - NOT IN SYNC
else
echo $server - IN SYNC
fi
done