zoukankan      html  css  js  c++  java
  • 批量管理服务器,批量分发文件

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/835309

    一、批量管理

    1.配置问密码登陆

    [root@localhost ~]# ssh-keygen -t dsa(生成密钥)
    Generating public/private dsa key pair.
    Enter file in which to save the key (/root/.ssh/id_dsa): 
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_dsa.
    Your public key has been saved in /root/.ssh/id_dsa.pub.
    The key fingerprint is:
    21:e3:80:d8:34:10:6c:26:8b:4c:72:fc:02:26:e5:8d root@localhost.localdomain
    [root@localhost ~]#

    [root@localhost ~]# ssh-copy-id -i .ssh/id_dsa.pub 119.147.146.245(拷贝公钥到要登陆的服务器)
    15
    The authenticity of host '119.147.146.245 (119.147.146.245)' can't be established.
    RSA key fingerprint is ba:7d:60:44:63:6c:f6:6a:9b:4b:ad:94:1b:98:2b:58.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '119.147.146.245' (RSA) to the list of known hosts.
    root@119.147.146.245's password: 
    Now try logging into the machine, with "ssh '119.147.146.245'", and check in:

      .ssh/authorized_keys

    to make sure we haven't added extra keys that you weren't expecting.

    [root@localhost ~]# ssh 119.147.146.245 ifconfig(远程查看单台服务器的IP)
    eth0      Link encap:Ethernet  HWaddr 00:50:56:88:0F:01  
              inet addr:119.147.146.245  Bcast:119.147.146.255  Mask:255.255.255.0
              inet6 addr: fe80::250:56ff:fe88:f01/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:18264423 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1716785 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:7166025790 (6.6 GiB)  TX bytes:162270128 (154.7 MiB)
              Base address:0x2000 Memory:d8920000-d8940000

    远程查看多台服务器的信息箱

    [root@localhost tmp]# echo 119.147.146.245 >>iplist(生成IP列表)

    [root@localhost tmp]# echo 119.147.146.249 >>iplist

    [root@localhost tmp]# echo 119.147.146.248 >>iplist

    [root@localhost tmp]# vi manger.sh(撰写脚本)


    #!/bin/bash
    for ip in `cat iplist`
    do
            echo "$ip----------------------------------------"
            ssh $ip $1
    done
     

    [root@localhost tmp]# sh manger.sh df -h(远程查看多台服务器的硬盘信息)
    119.147.146.245----------------------------------------
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/mapper/VolGroupRoot-LogVolRoot
                          14093368   3488436   9877484  27% /
    /dev/sda1               101086     19012     76855  20% /boot
    tmpfs                   513468         0    513468   0% /dev/shm
    /dev/sda5             53050708    185320  50170488   1% /mfsdata1
    /dev/sda6             39065388    968620  36112344   3% /mfsdata2
    /dev/sda7             39998020    968620  36997584   3% /mfsdata3
    119.147.146.249----------------------------------------
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/mapper/VolGroupRoot-LogVolRoot
                          10125560   3941852   5661060  42% /
    /dev/mapper/VolGroupData-LogVolData
                          14220336    553532  12932804   5% /data
    /dev/mapper/VolGroupData-LogVolLogs
                           4951688    141196   4554904   4% /data/logs
    /dev/sda1               101086     12922     82945  14% /boot
    tmpfs                   513068         0    513068   0% /dev/shm
    119.147.146.248----------------------------------------
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/mapper/VolGroupRoot-LogVolRoot
                          10125560   4159936   5442976  44% /
    /dev/mapper/VolGroupData-LogVolData
                          14220336    189528  13296808   2% /data
    /dev/mapper/VolGroupData-LogVolLogs
                           4951688    141208   4554892   4% /data/logs
    /dev/sda1               101086     21349     74518  23% /boot
    tmpfs                   513068         0    513068   0% /dev/shm

    [root@localhost tmp]# sh manger.sh free -m(远程查看多台服务器的内存使用情况)
    119.147.146.245----------------------------------------
                 total       used       free     shared    buffers     cached
    Mem:       1026936     885652     141284          0      68036     711216
    -/+ buffers/cache:     106400     920536
    Swap:      4194296        108    4194188
    119.147.146.249----------------------------------------
                 total       used       free     shared    buffers     cached
    Mem:       1026140    1016284       9856          0     154076     690928
    -/+ buffers/cache:     171280     854860
    Swap:      1052248         88    1052160
    119.147.146.248----------------------------------------
                 total       used       free     shared    buffers     cached
    Mem:       1026140     977656      48484          0      48076     758976
    -/+ buffers/cache:     170604     855536
    Swap:      1052248          8    1052240

    [root@localhost tmp]# sh manger.sh "useradd admin"(批量建用户)
    119.147.146.245----------------------------------------
    119.147.146.249----------------------------------------
    119.147.146.248----------------------------------------

    [root@localhost tmp]# sh manger.sh "echo 'king+5688'|passwd --stdin admin"(批量更改密码)
    119.147.146.245----------------------------------------
    Changing password for user admin.
    passwd: all authentication tokens updated successfully.
    119.147.146.249----------------------------------------
    Changing password for user admin.
    passwd: all authentication tokens updated successfully.
    119.147.146.248----------------------------------------
    Changing password for user admin.
    passwd: all authentication tokens updated successfully.

    二、批量分发

    [root@localhost tmp]# cat fenfa.sh (撰写脚本)
    #!/bin/bash
    for ip in `cat iplist`
    do
            echo "$ip----------------------------------------"
            scp -r -p $1 $ip $2
    done

    [root@localhost tmp]# sh fenfa.sh /etc /tmp/(把/etc目录拷贝到多台远程服务器上的/tmp下

    [root@localhost tmp]# ls(验证)
    etc

    三、通过普通用户实现远程分发文件,远程管理

    1.新建普通用户admin 密码:123456

    [root@localhost tmp]# sh manger.sh "useradd admin"(批量建用户)
    119.147.146.245----------------------------------------
    119.147.146.249----------------------------------------
    119.147.146.248----------------------------------------

    2.生成密钥拷贝到对端

    [admin@localhost ~]$ ssh-keygen -t dsa
    Generating public/private dsa key pair.
    Enter file in which to save the key (/home/admin/.ssh/id_dsa): 
    Created directory '/home/admin/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /home/admin/.ssh/id_dsa.
    Your public key has been saved in /home/admin/.ssh/id_dsa.pub.
    The key fingerprint is:
    00:1f:1c:fa:a2:e0:79:cc:a4:24:92:47:de:3e:bf:fb admin@localhost.localdomain

    [admin@localhost .ssh]$ ssh-copy-id -i id_dsa.pub 119.147.146.245
    10
    The authenticity of host '119.147.146.245 (119.147.146.245)' can't be established.
    RSA key fingerprint is ba:7d:60:44:63:6c:f6:6a:9b:4b:ad:94:1b:98:2b:58.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '119.147.146.245' (RSA) to the list of known hosts.
    admin@119.147.146.245's password: 
    Now try logging into the machine, with "ssh '119.147.146.245'", and check in:

      .ssh/authorized_keys

    to make sure we haven't added extra keys that you weren't expecting.
     

    3.撰写脚本(和上面的一样)

    [admin@localhost ~]$ ls
    fenfa.sh  iplist  manger.sh

    4.测试

    拷贝本地的/etc目录到多台远程服务器的/tmp目录下

    [admin@localhost ~]$ su - root /home/admin/fenfa.sh /etc /tmp
    Password: (输入root密码)
    119.147.146.245----------------------------------------
    mime.types                                                       100%   14KB  13.8KB/s   00:00    
    virc                                                             100% 1533     1.5KB/s   00:00    
    .bashrc                                                          100%  124     0.1KB/s   00:00    
    .bash_profile                                                    100%  176     0.2KB/s   00:00    
    .bash_logout                                                     100%   33     0.0KB/s   00:00    
    .zshrc                                                           100% 658     0.6KB/s   00:00  

    查看远程服务器内存使用情况

    [admin@localhost ~]$ su - root /home/admin/manger.sh "free -m"
    Password: (输入root密码)
    119.147.146.245----------------------------------------
                 total       used       free     shared    buffers     cached
    Mem:          1002        966         36          0         86        756
    -/+ buffers/cache:        123        879
    Swap:         4095          0       4095
    119.147.146.249----------------------------------------
                 total       used       free     shared    buffers     cached
    Mem:          1002        951         50          0        146        676
    -/+ buffers/cache:        129        872
    Swap:         1027          0       1027
    119.147.146.248----------------------------------------
                 total       used       free     shared    buffers     cached
    Mem:          1002        962         40          0         60        739
    -/+ buffers/cache:        162        839
    Swap:         1027          0       1027

    其实用普通用户做批量管理,批量分发就是多了一步输入root的密码的步骤,这样做的目的是为了安全

    本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/835309

  • 相关阅读:
    linux环境变量
    oracle 11g RAC日志分布
    解决Centos下载文件出现”wget: unabl(www.111cn.net)e to resolve host address”
    转载:root用户无法删除文件 rm: cannot remove Readonly file system
    占用端口
    数学小记
    很多问题的解决都是从简单的方式入手不断优化的
    机器学习之算法学习
    机器学习之二分类
    机器学习之模型评估(损失函数的选择)
  • 原文地址:https://www.cnblogs.com/dongming/p/5945498.html
Copyright © 2011-2022 走看看