设为首页 收藏本站
查看: 1085|回复: 0

shell批量多台服务器数据copy

[复制链接]

尚未签到

发表于 2018-8-29 08:37:52 | 显示全部楼层 |阅读模式

  •   实验服务器两台:
      192.168.77.189
      192.168.77.190
  •   服务器免密钥登录设置:
      [root@192_168_77_189 ~]# ssh-keygen
      Generating public/private rsa key pair.
      Enter file in which to save the key (/root/.ssh/id_rsa):
      Enter passphrase (empty for no passphrase):
      Enter same passphrase again:

      Your>  Your public key has been saved in /root/.ssh/id_rsa.pub.
      The key fingerprint is:
      95:cf:19:a5:ff:d0:bc:80:f5:de:5a:4c:b5:63:ae:c6 root@192_168_77_189
      The key's randomart image is:
      +--[ RSA 2048]----+
      |              .  |
      |           . o   |
      |          o o.  .|
      |         . oo+.oo|
      |        S  .+.o=+|
      |              ==+|
      |            .  +=|
      |             E.o |
      |            ...  |
      +-----------------+
      [root@192_168_77_189 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.77.190
      root@192.168.77.190's password:
      Now try logging into the machine, with "ssh '192.168.77.190'", and check in:
      .ssh/authorized_keys
      to make sure we haven't added extra keys that you weren't expecting.
      [root@192_168_77_189 ~]# ssh 192.168.77.190
      Last login: Sun Jul  5 23:16:20 2015 from 192.168.77.100
      [root@192_168_77_190 ~]# clear
      [root@192_168_77_190 ~]#
      [root@192_168_77_190 ~]#
      [root@192_168_77_190 ~]# exit
  •   copy脚本
#!/bin/bash  
#write by lixi
  
#time by 2015-7-7
  
#run by sh auto.shell.sh /root /mnt
  
if    [ ! -f ip.txt ] ; then
  
echo -e "\033[32mplease create ip.txt files...\033[0m"
  
cat  ip.txt.swp
  
IP=`awk -v I="$i" '{if(I==$1)print $2}' ip.txt.swp`
  
scp -r $1 root@${IP}:$2
  
#rsync -ap --delete $1 root@${IP}:$2
  
done
  以上脚本用rsync也可以,,,rsync同步两个文件一样,,,例如sh auto.shell.sh /opt/ /opt/保持两个服务器之间这个目录文件一样
  4.批量远程服务器执行命令
#!/bin/bash  
# Auto run server commend
  
# by lx 2015-7-7
  
if [ ! -f ip.txt ]; then
  
        echo -e "\033[32mplease create ip.txt files...\033[0m"
  
cat ip.txt.swp
  
        IP=`awk -v I="$i" '{if(I==$1)print $2}' ip.txt.swp`
  
ssh -q -l root $IP "$*; echo -e '-----------------------\nthe $IP Exec command:
  
$* success !';sleep 2"
  
done
root@192_168_77_189 ~]# sh auto_ssh.sh mkdir /tmp/text2  
-----------------------
  
the 192.168.77.190 Exec command:
  
mkdir /tmp/text2 success !
  
-----------------------
  
the 192.168.77.189 Exec command:
  
mkdir /tmp/text2 success !
  5.服务器之前文件同步:
  #!/bin/bash
  #by lixi 2015.7.7
  #run by sh auto_rsync.sh flush
  flush()
  {
  if
  [ ! -f rsync.list ]; then
  echo -e "\033[32mplease create rsync.list file...\033[0m"
  cat rsync.list.swp
  COUNT=`cat rsync.list.swp|wc -l`
  NUM=0
  while ((${NUM} < $COUNT))
  do
  NUM=`expr $NUM + 1`
  Line=`sed -n "${NUM}p" rsync.list.swp`
  SRC=`echo $Line |awk '{print $2}'`
  DES=`echo $Line |awk '{print $3}'`
  IP=`echo $Line |awk '{print $1}'`
  rsync -ap --delete ${SRC}/   root@${IP}:${DES}/
  done
  }
  restart()
  {
  rm -rf restart.list.swp ; cat restart.list | grep -v "#" >> restart.list.swp
  COUNT=`cat restart.list.swp|wc -l`
  NUM=0
  while ((${NUM} < $COUNT))
  do
  NUM=`expr $NUM + 1`
  Line=`sed -n "${NUM}p" restart.list.swp`
  Command=`echo $Line |awk '{print $2}'`
  IP=`echo $Line |awk '{print $1}'`
  ssh -l root $IP "sh $Command; echo -e '----------------\nthe $IP Exec Commadn : sh $Command success !'"
  done
  }
  case $1 in
  flush )
  flush
  ;;
  restart )
  restart
  ;;
  * )
  echo -e "\033[32mUsage: $0 command,example {flush|restart}\033[0m"
  ;;
  esac



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-557945-1-1.html 上篇帖子: FTP自动化上传的Shell脚本 下篇帖子: Linux bash Shell中的变量类型详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表