• 批量分发密钥脚本(判断存活IP和自动搭建本地yum和云yum仓库)


    批量分发密钥脚本

     
    1. #!/bin/bash
    2. function xxx(){   #云yum函数
    3. ping -c 1 www.baidu.com
    4. if [ $? -eq 0 ];then
    5. rpm -qa | grep "wget"
    6. if [ $? -ne 0 ];then
    7. yum -y install wget &> /dev/null || (yum && yum -y install wget) || exit
    8. echo "wget安装成功"
    9. fi
    10. fi
    11. cd /etc/yum.repos.d/ && [ -d bak ] || mkdir bak
    12. mv C* bak
    13. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo &> /dev/null
    14. yum -y clean all &> /dev/null
    15. yum makecache &> /dev/null
    16. }
    17. function yyy(){   #本地yum函数
    18. [ -d /media/cdrom ] || mkdir -p /media/cdrom
    19. umount /dev/sr0 &>/dev/null
    20. mount /dev/sr0 /media/cdrom &>/dev/null
    21. if [ $? -eq 0 ] ;then
    22. echo "光盘已挂载"
    23. else
    24. echo "请检查光盘"
    25. exit
    26. fi
    27. cd /etc/yum.repos.d
    28. mv * /tmp
    29. cat > /etc/yum.repos.d/local.repo << OK
    30. [local]
    31. name=local
    32. baseurl=file:///media/cdrom
    33. gpgcheck=0
    34. enabled=1
    35. OK
    36. yum -y clean all &>/dev/null
    37. yum makecache &>/dev/null && echo "光盘yum搭建完成"
    38. }
    39. rpm -qa | grep "sshpass" &>/dev/null   #检测有没有sshpass命令
    40. if [ $? -ne 0 ];then
    41. yum -y install sshpass &>/dev/null || (xxx && yum -y install sshpass) || exit 3
    42. fi
    43. rpm -qa | grep "openssh-clients" &>/dev/null
    44. if [ $? -ne 0 ];then
    45. yum -y install openssh-clients &>/dev/null || (yyy && yum -y install openssh-clients) || exit 5
    46. fi
    47. cd ~
    48. [ -d .ssh ] && rm -rf ~/.ssh/id_dsa* || mkdir .ssh
    49. chmod 700 .ssh
    50. ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" &>/dev/null
    51. i=1
    52. for ip in 192.168.200.{67..100}   #判断存活IP,IP段可随意修改
    53. do
    54. ping -c 1 -i 0.1 $ip &>/dev/null
    55. if [ $? -eq 0 ];then
    56. sshpass -p "linyaonie" ssh-copy-id -i ~/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no $ip" &>/dev/null
    57. let i++
    58. echo "$ip密钥分发成功"
    59. else
    60. echo "$ip无法ping通请检查网络"
    61. fi
    62. done
  • 相关阅读:
    js 跳转链接的几种方式
    js 指定分隔符连接数组元素join()
    Ajax async属性
    非负数正则表达式
    firefox因 HTTP 严格传输安全(HSTS)机制无法打开网页
    查看linux系统某宏的定义(另类)
    ctags高级用法
    ctags简明用法
    关于数组和指针的一道例题的解读
    让gcc和gdb支持intel格式的汇编
  • 原文地址:https://www.cnblogs.com/linyaonie/p/9911391.html
Copyright © 2020-2023  润新知