1.说明
此脚本可分发两类文件,1.固定内容文件,2.(每台被分发主机)内容不同的文件
ppp.sh为拨号脚本,每台被分发主机内容不同
根据分发文件名字不同(ppp.sh和其他文件)自动选择分发方式
2.脚本
#!/bin/sh files=$
ip=$
port=$ [ -z "$files" ]&&{
echo ''
exit
} [ -z "$ip" ]&&{
echo ''
exit
} [ -z "$port" ]&&{
echo ''
exit
} path= if [ "$files" = "ppp.sh" ];then
dir=`cat /proc/sys/kernel/random/uuid`
rm -rf /tmp/.$dir
mkdir /tmp/.$dir cp ppp0.txt /tmp/.$dir/ppp.sh
echo "ip2='"$ip"'" >> /tmp/.$dir/ppp.sh
echo "sshport='"$port"'" >> /tmp/.$dir/ppp.sh
cat ppp1.txt >> /tmp/.$dir/ppp.sh ssh -o ConnectTimeout= -p $port root@${ip} date > /dev/null
if [ $? -eq ];then
scp -P $port /tmp/.$dir/ppp.sh root@${ip}:/root
if [ $? -ne ];then
echo ''
rm -rf /tmp/.$dir
exit
fi ssh -o ConnectTimeout= -p $port root@${ip} 'chmod 700 ppp.sh'
if [ $? -eq ];then
echo ''
rm -rf /tmp/.$dir
exit
else
echo ''
rm -rf /tmp/.$dir
exit
fi
else
echo ''
rm -rf /tmp/.$dir
exit
fi
else [ -f "$files" ]||{
echo ''
exit
} ssh -o ConnectTimeout= -p $port root@${ip} date > /dev/null
if [ $? -eq ];then
scp -P $port $files root@${ip}:/root
if [ $? -ne ];then
echo ''
exit
fi temp=`ssh -o ConnectTimeout= -p $port root@${ip} "sh $files"`
if [ $? -eq ];then
echo ''
exit
else
echo ''
exit
fi else
echo ''
exit
fi fi
[root@zxserver05 sync_script]# ./sync_script.sh ppp.sh wzdx1.leyuyun.com
ppp.sh % .8KB/s :
--执行成功
--文件未指定
--ip未指定
--port未指定
--ssh连接失败
--文件远程至讯失败
--指定文件不存在
--文件上传失败
注:分发"其他"类型的文件,最好指定决定路径。