zoukankan      html  css  js  c++  java
  • shell基础之综合练习

    0.脚本一键完成下面所有操作
    1.准备2台centos7系统的服务器,远程互相免密登录,以下所有题目过程中开启防火墙
    2.给1号机和2号机使用光盘搭建本地yum源(永久生效)
    3.给服务器1添加2块硬盘,1块1GB,1块2GB,使用这2块硬盘创建vg,包含pe100mb/块
    4.使用上题vg创建2个1.2GB的lv,以xfs格式分别挂载到1号机/目录下的lvm1 lvm2上(永久生效)
    5.将lvm2以nfs共享给2号机,挂载到2号机 /nfs 上(永久生效)
    6.设置定时任务,每5分钟将/目录下所有文件名称写入到以"日期时间"命名的文件(时间精确到分钟),并保存到/lvm1中
    7.在2号记上以/nfs为目录搭建ftp,用户名是 userftp2 密码 123 的非交互用户(1号机可以使用该用户登录)
    8.搭建一个httpd网站,工作目录是ftp目录


      1 #!/bin/bash
      2 #1.准备2台centos7系统的服务器,远程互相免密登录,以下所有题目过程中开启防火墙
      3 #2.给1号机和2号机使用光盘搭建本地yum源(永久生效)
      4 IP1=192.168.11.135
      5 IP2=192.168.11.136
      6 echo "$IP1 test1
      7 $IP2 test2" >> /etc/hosts
      8 #检查环境
      9 setenforce 0
     10 sed -i 's/=Enforcing/=Disabled/g' /etc/selinux/config
     11 systemctl enable firewalld
     12 systemctl restart firewalld
     13 #配置yum源
     14 rm -rf /etc/yum.repos.d/*.repo
     15 echo "[base]
     16 name=base
     17 baseurl=http://172.16.105.251/base
     18 enabled=1
     19 gpgcheck=0
     20 [adv]
     21 name=adv
     22 baseurl=http://172.16.105.251/adv
     23 enabled=1
     24 gpgcheck=0" > /etc/yum.repos.d/local.repo
     25 yum clean all
     26 #下载秘钥(sshpassssh 登陆不能在命令行中指定密码,sshpass 的出现则解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。)
     27 #-f指定的生成文件 -P输入密码
     28 yum -y install sshpass
     29 ssh-keygen -t rsa -f /root/.ssh/id_rsa -P ''
     30 sed -i 35c"StrictHostKeyChecking no" /etc/ssh/ssh_config
     31 cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
     32 sshpass -p 0304 scp -r /root/.ssh test2:/root/
     33 #远程连接2号机
     34 ssh $IP2 "echo '$IP1 test1
     35 $IP2 test2' >> /etc/hosts"
     36 ssh test2 "setenforce 0 && sed -i 's/=Enforcing/=Disabled/g' /etc/selinux/config && systemctl enable firewalld && systemctl restart firewalld "
     37 ssh test2 "rm -rf /etc/yum.repos.d/*.repo" 
     38 scp /etc/yum.repos.d/*.repo test2:/etc/yum.repos.d/
     39 ssh test2 "yum clean all && sed -i 35c'StrictHostKeyChecking no' /etc/ssh/ssh_config"
     40 #3.给服务器1添加2块硬盘,1块1GB,1块2GB,使用这2块硬盘创建vg,包含pe100mb/块
     41 echo "- - -" > /sys/class/scsi_host/host0/scan
     42 echo "- - -" > /sys/class/scsi_host/host1/scan
     43 echo "- - -" > /sys/class/scsi_host/host2/scan
     44 fdisk /dev/sdb <<EOF
     45 n
     46 p
     47 
     48 
     49 
     50 t
     51 8e
     52 w
     53 EOF
     54 fdisk /dev/sdc <<EOF
     55 n
     56 p
     57 
     58 
     59 
     60 t
     61 8e
     62 w
     63 EOF
     64 pvcreate /dev/sd{b,c}1
     65 vgcreate vg1 -s 100 /dev/sd{b,c}1
     66 #4.使用上题vg创建2个1.2GB的lv,以xfs格式分别挂载到1号机/目录下的lvm1 lvm2上(永久生效)
     67 lvcreate -l 12 -n lv1 /dev/vg1
     68 lvcreate -l 12 -n lv2 /dev/vg1
     69 mkdir /lvm1 /lvm2
     70 mkfs.xfs /dev/vg1/lv1
     71 mkfs -t xfs /dev/vg1/lv2
     72 echo "/dev/vg1/lv1 /lvm1 xfs defaults 0 0 " >> /etc/fstab
     73 echo "/dev/vg1/lv2 /lvm2 xfs defaults 0 0 " >> /etc/fstab
     74 mount -a
     75 #5.将lvm2以nfs共享给2号机,挂载到2号机 /nfs 上(永久生效)
     76 yum -y install nfs-*
     77 echo "/lvm2    $IP2/32(rw)" > /etc/exports
     78 systemctl enable nfs
     79 systemctl restart nfs
     80 systemctl enable rpcbind
     81 systemctl start rpcbind
     82 firewall-cmd --add-service=nfs
     83 firewall-cmd --add-service=nfs --permanent
     84 ssh test2 "yum -y install nfs-*"
     85 ssh test2 "systemctl enable rpcbind && systemctl start rpcbind && systemctl enable nfs && systemctl start nfs"
     86 ssh test2 "mkdir /nfs"
     87 ssh test2 "echo 'test1:/lvm2 /nfs nfs defaults 0 0 ' >> /etc/fstab && mount -a"
     88 #6.设置定时任务,每5分钟将/目录下所有文件名称写入到以"日期时间"命名的文件(时间精确到分钟),并保存到/lvm1中
     89 echo "*/5 * * * * ls / > /lvm1/\`date '+%m-%d-%H-%M'\`" > /var/spool/cron/root
     90 #7.在2号记上以/nfs为目录搭建ftp,用户名是 userftp2 密码 123 的非交互用户(1号机可以使用该用户登录)
     91 ssh test2 "yum -y install vsftpd && sed -i '12s/YES/NO/g' /etc/vsftpd/vsftpd.conf "
     92 ssh test2 "systemctl enable vsftpd && systemctl restart vsftpd"
     93 ssh test2 "firewall-cmd --add-service=ftp && firewall-cmd --add-service=ftp --permanent"
     94 ssh test2 "useradd -d /nfs -s /sbin/nologin userftp2 && echo '123' |passwd --stdin userftp2"
     95 #8.搭建一个httpd网站,工作目录是ftp目录
     96 yum -y install httpd
     97 sed -i '119s/var/www/html/lvm2/g' /etc/httpd/conf/httpd.conf
     98 sed -i '131s/var/www/html/lvm2/g' /etc/httpd/conf/httpd.conf
     99 systemctl enable httpd
    100 systemctl restart httpd
    101 firewall-cmd --add-port=80/tcp --permanent
    102 firewall-cmd --reload
  • 相关阅读:
    centos6.8安装JDK1.8
    尚硅谷 ActiveMQ
    Spring 注解版-事务实现
    nginx实现动静分离
    C/C++ 位域
    大小端模式
    C++find函数
    C++ transform
    C++ string的大小写转换
    C++ pair用法
  • 原文地址:https://www.cnblogs.com/renyz/p/11328250.html
Copyright © 2011-2022 走看看