#!/bin/bash
.
/etc/init
.d
/functions
file
=
"$1"
remote_dir=
"$2"
if
[[ $
echo
"usage:$0 argv2"
echo
"must have one argvs"
exit
fi
function
KNOWN_HOST_REBUILD()
{
[ ! -e ~/.
ssh
/known_hosts
] &&
mkdir
-p ~/.
ssh
/ &&
touch
~/.
ssh
/known_hosts
local
i=$1
sed
-i
"/^${i} /d"
~/.
ssh
/known_hosts
expect -c "
spawn
/usr/bin/ssh
oldboy@${i}
echo
ok;
expect \"*
yes
/no
)?\";
send \"
yes
\r\";
expect eof " >
/dev/null
2>&1
return
0
[[ $? -
ne
0 ]] &&
echo
"$i know host rebuild fail,maybe the server connect error"
}
function
PASS_PASSWD()
{
ip=$1
expect -c "
set
timeout -1
spawn
ssh
-copy-
id
-i id_dsa oldboy@$ip
expect \"*password:\"
send \"oldboy123\r\"
expect eof" >
/dev/null
2>&1
}
function
FENFA_id_dsa()
{
for
ip
in
`
awk
'/^[^#]/{print $1}'
all_client.txt`
do
KNOWN_HOST_REBUILD $ip
PASS_PASSWD $ip
if
[[ $? -
eq
0 ]];
then
action
"$ip send id_dsa is successful"
/bin/true
else
action
"$ip send id_dsa is failed copied"
/bin/false
fi
done
}
function
FENFA_config()
{
for
ip
in
`
awk
'/^[^#]/{print $1}'
all_client.txt`
do
port=$(
grep
$ip all_client.txt|
awk
'{print $2}'
)
scp
-P${port} -r -p ${
file
} oldboy@${ip}:~ >
/dev/null
2>&1 && \
ssh
-p${port} -t oldboy@$ip
sudo
rsync
~/`
basename
${
file
}` $remote_dir >
/dev/null
2>&1
if
[[ $? -
eq
0 ]];
then
action
"$ip send $file is successful!!"
/bin/true
else
action
"$ip send $file is failed!!"
/bin/false
fi
done
}
FENFA_id_dsa
FENFA_config
暂无评论
写评论