Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH";
- #export HOME="/home/maintenance";
- export HOME="/tmp/httpdlog/";
- def_logdir="/var/log/httpd/" ;
- tmp_logdir="/tmp/httpdlog/" ;
- key_logdir=$tmp_logdir".ssh/" ;
- key_remote=$key_logdir"tmphost_rsa" ;
- srv_list=( root::c9v601::::172.16.1.12::22::$def_logdir root::ecm2107::::172.16.1.10::22::$def_logdir ) ;
- function f_spliter () {
- vstring=$1 ; vsplitter=$2 ;
- if [ `echo "$vstring" | grep "$vsplitter"` ] ; then set -f ; sstring=(${vstring//$vsplitter/ }) ; for count in "${!sstring[@]}" ; do rstring[$count]="${sstring[count]}" ; done else rstring[0]="" ; rstring[1]="" ; rstring[2]="" ; fi
- }
- function f_proccess () {
- vuname=$1 ; vupass=$2 ; vsrvnm=$3 ; vsrvpt=$4 ; vsdir=$5 ;
- mkdir -p $tmp_logdir ;
- cd $tmp_logdir ;
- mkdir -p $tmp_logdir ;
- chmod 700 $tmp_logdir ;
- touch $key_remote ;
- chmod 600 $key_remote ;
- fping -c1 -t300 $vsrvnm 2>/dev/null 1>/dev/null ;
- ### del ### ssh-keygen -f "/path/.ssh/known_hosts" -R <IP>
- if [ "$?" = 0 ]; then
- echo "IP: "$vsrvnm" OK" ;
- sysosrelease=`cat /etc/os-release | grep "^ID=" | sed -e "s/^ID=//" -e "s/\"$//" -e "s/\"//"` ;
- echo $sysosrelease
- case "$sysosrelease" in "centos") vskeys="" ;; * ) vskeys="-H " ;; esac
- c_ssh_key="ssh-keyscan -p $vsrvpt $vskeys $vsrvnm";
- $c_ssh_key 2>/dev/null > $key_remote ;
- sed -i '/ssh-rsa/s/$/==/' $key_remote
- sed -i '/====/==/' $key_remote
- copts_ssh="" ;
- copts_ssh=$copts_ssh"-oHostName=$vsrvnm " ;
- copts_ssh=$copts_ssh"-oUser=$vuname " ;
- copts_ssh=$copts_ssh"-oPort=$vsrvpt " ;
- copts_ssh=$copts_ssh"-oProtocol=2 " ;
- copts_ssh=$copts_ssh"-oBatchMode=yes " ;
- copts_ssh=$copts_ssh"-oForwardX11Trusted=yes " ;
- copts_ssh=$copts_ssh"-oStrictHostKeyChecking=no " ;
- copts_ssh=$copts_ssh"-oPasswordAuthentication=yes " ;
- c_ssh_pas='sshpass -p "'$vupass'"' ;
- export SSHPASS="$vupass" ;
- c_ssh_pas="sshpass -e ";
- #c_ssh_pas='' ;
- # remote_exec="source /etc/profile ; ls -la /";
- # remote_exec="touch /zzz";
- # c_ssh_srv='ssh -vvv '$copts_ssh' "'$remote_exec'"' ;## "ls / > /opt/hh"'
- # remote_exec="ENDCOMMAND
- # ls /
- # ENDCOMMAND
- # ";
- c_ssh_srv='ssh -vvv '$copts_ssh' <<< "'$remote_exec'"' ;
- c_exc_cmd=$c_ssh_pas" "$c_ssh_srv ;
- echo "";
- echo "";
- echo "";
- echo $c_exc_cmd ;
- dds=$(c_exc_cmd) ;
- echo $dds ;
- # echo $dds
- # $c_ssh_key ;
- #echo $vupass
- # $c_ssh_key ;
- # ssh-copy-id -f -i $key_remote $vuname@$vsrvnm ;
- # c_ssh_key="ssh-copy-id -f -i $key_remote $vuname@$vsrvnm" ;
- # copts_ssh="" ;
- # copts_ssh="-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null" ;
- else
- echo "IP: "$vsrvnm" NULL";
- fi
- # c_scp_srv="scp $vuname@$vsrvnm:$vsdir";
- }
- function f_runlist () {
- srv_num=${#srv_list[@]};
- srv_count=0 ;
- while [ "$srv_count" -lt "$srv_num" ]; do
- esrv=${srv_list[$srv_count]} ;
- f_spliter $esrv "::::" ;
- usrd=${rstring[0]} ; srvd=${rstring[1]} ;
- f_spliter $usrd "::" ;
- usrnm=${rstring[0]} ; usrpw=${rstring[1]} ;
- f_spliter $srvd "::" ;
- srvnm=${rstring[0]} ; srvpt=${rstring[1]} ; srvdr=${rstring[2]} ;
- if [[ "$usrnm" != "" && "$usrpw" != "" && "$srvnm" != "" && "$srvpt" != "" && "$srvdr" != "" ]] ; then
- f_proccess $usrnm $usrpw $srvnm $srvpt $srvdr ;
- else
- f="";
- fi
- #
- srv_count=$((srv_count+1)) ;
- done
- }
- f_runlist;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement