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

shell基础之综合练习的更多相关文章

  1. Shell基础应用

                                                                  Shell基础应用 案例1:Shell基础应用 案例2:简单Shell脚本的 ...

  2. Shell基础学习小结

    0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...

  3. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  4. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  5. shell基础(转)

    shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux ...

  6. Linux实战教学笔记17:精简shell基础

    第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...

  7. 【CC2530入门教程-增强版】基础技能综合实训案例(基础版)-上位机源码

    [CC2530入门教程-增强版]基础技能综合实训案例(基础版)-上位机源码 广东职业技术学院  欧浩源 一.需求分析 按照指定参数打开串口,与测控终端建立数据传输通道,并根据应用要求实现程序逻辑,具体 ...

  8. shell基础及变量

    一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...

  9. Shell 基础教程

    一个比较好的shell基础教程: http://www.runoob.com/linux/linux-shell.html

随机推荐

  1. 【Azure 应用服务】App Service/Azure Function的出站连接过多而引起了SNAT端口耗尽,导致一些新的请求出现超时错误(Timeout)

    问题描述 当需要在应用中有大量的出站连接时候,就会涉及到SNAT(源地址网络转换)耗尽的问题.而通过Azure App Service/Function的默认监控指标图表中,却没有可以直接查看到SNA ...

  2. 超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南

    随着互联网的飞速发展,我们的工作生活已经离不开互联网,HTTP虽然使用极为广泛, 但是存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付,网络交易等网站应用中 ...

  3. composer 遇见问题 整理

    修改镜像源:改为阿里云镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 报错:Con ...

  4. 【MybatisPlus】使用Wrappers条件构造器构造or和and

    模糊查询中,会有针对一个数据,需要查询数据库的多个字段的情况,例如: 上图中的平台名称和平台进程在数据表中是两个不同的字段, 如果不使用Mybatisplus,仅使用Mybatis,则只有通过写xml ...

  5. SpringCloud之配置中心(config)的使用Git+数据库实现

    SpringCloud微服务实战系列教程 -------------------------目录------------------------------ 一.配置中心应用(Git) 二.配置中心的 ...

  6. The 2014 ACM-ICPC Asia Mudanjiang Regional First Round A

    网选A,水题: 这个是水题,只要枚举一遍,看有多少a[i-1]<a[i]>a[i+1],不解释了.

  7. Python中的socket网络模块

    目录 Socket 服务端(server.py) 客户端(client.py) socket中的一些常用方法 Socket 对象(内建)方法 Python Internet 模块 Python3 提供 ...

  8. LA3135简单多路归并(优先队列)

    题意:       有N个任务,每个任务都有自己的时间间隔(就是每t秒请求执行一次)和任务id,这n个任务公用一个cpu,每次我们都执行时间靠前的,如果相同时间内有多个任务,就执行任务id小的,要求模 ...

  9. POJ3422简单费用流

    题意:      给一个n*n的矩阵,从左上角走到右下角,的最大收益,可以走k次,每个格子的价值只能取一次,但是可以走多次. 思路:       比较简单的一个费用流题目,直接拆点,拆开的点之间连接两 ...

  10. 本地计算机上的Apple Mobile Device服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止

    解决办法:1.开始--运行--regedit.exe,打开注册表编辑器,删除以下两个键: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Wi ...