前腾讯工程师,经历过大厂,也经历过创业!
我已奔四,但我还在持续学习,持续成长!
我非常乐意把我的经验和心得分享给你!
我是阿铭,关注我,和我一起成长为技术大牛!
↓↓↓↓↓
最新一期《运维架构师》训练营从上个月13号开始,正好过去一个月,每隔几天我都会给大家出几个小需求来检验学习效果。下面,我把这一个月以来的需求发出来供大家参考。
1、考察文件、目录、用户、权限
1) 创建目录/data/test/linux;
2) 将/etc/fstab文件拷贝到/data/test下,并改名为aming.txt;
3) 将/etc/ssh目录拷贝到/data/test;
4) 将/data/test/ssh目录挪动到/data/test/linux下;
5) 在/data/test/ssh目录里创建一个空文件linux.txt;
6) 创建一个普通用户user1;
7) 将/data/test目录以及下面所有的文件和目录修改为所有者为user1,所属组不动(应该是root);
8) 将/data/test目录下所有文件找到,并将权限修改为只能所有者读写不能执行,所属组和其它用户全部不能读写和执行;
9) 给user1设定一个sudo规则,对如下命令有root用户特权:ls,mv,cp,mkdir,sh;
2、考察用户、磁盘
需求1:用户user1,默认shell为/bin/bash,改为/sbin/nologin,并测试是否可以在root用户下,以user1的身份去执行一条命令(touch /tmp/user1.txt)。
需求2:假设,当前系统/分区占用磁盘百分比90%了,那么请分析到底哪个目录占用最多。
需求3:新增加一块硬盘,然后直接将该磁盘格式化为xfs文件系统,注意不需要分区。
3、考察磁盘扩容
需求:服务器磁盘空间不够用了,增加了一块磁盘/dev/sdd,然后需要将该磁盘空间加入现有LVM里。
扩容目标vg和lv如下:vg: centos,lv: root
4、考察压缩、打包
需求:服务器上有一个目录/data/wwwroot/www.test.com,需要将其打包并压缩。要求,打包后的压缩包文件名为www_test_com.tar.gz,将其放到/data/wwwroot目录下。
提醒一下,后续遇到这样的需求,要保证存放压缩包的目录剩余空间足够大,要如何估算呢?其实看看压缩前那个目录下所有文件有多大就行了。
5、考察rpm、yum
需求1:想查一个命令到底是由哪个rpm包安装的。比如,你想使用netstat命令,请想办法找到这个命令对应的rpm包,并安装上它。
需求2:使用yum将某个rpm包以及它的依赖包全部下载下来,目的是为了做成离线包,结合shell脚本做自动部署。至于如何做离线包和如何写脚本,当前阶段你不用管,你只需要实现将rpm包下载即可。
具体包的名字:java-11-openjdk.x86_64
需求3:做一个内网的yum仓库。这个需求也很常见,留着本周四我给大家演示吧。当然,你最好是先提前自己搞一搞。参考http://blog.yuankeedu.com/?p=500
6、考察shell基础
需求1:我们把软件安装到了/usr/local/下,比如把mysql安装到了/usr/local/mysql,那么如何可以直接敲mysql命令呢?(环境变量PATH)
需求2:有一个非常大的日志文件忘记做归档了,当我们发现时它已经有10G还要多,现在需要分析最近一天的日志,如何将这大日志做一个切割?假设一天的日志量大概有100M。(用split)
7、考察正则三剑客
1) 查找当前系统下,yum仓库里有没有一个叫做zsh的包?
2) 给你一个配置文件/etc/aming/aming.conf,该配置文件里有太多被#注释掉了,而且还有很多空行,现在我只想看未注释掉的并且非空行内容如何做?
3) 遇到一个需求,想找一个目录里/usr/local/,是否有出现过关键词'aming'。
4) 之前我们关闭selinux都是手动修改配置文件/etc/selinux/config,那么如何使用sed命令自动修改呢?
5) 一台MySQL服务器的slow.log(/data/mysql/slow.log)未做切割,目前已经有2G,查看该日志有点慢,所以想快速将该日志前1000万行删除掉,如何用sed实现?
6) 假设日志/data/logs/nginx/access.log第一段为客户端IP地址,请分析该日志中访问量最多的前10名IP。