megeedu Linux+Python高级运维班 3期 第六周作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了megeedu Linux+Python高级运维班 3期 第六周作业相关的知识,希望对你有一定的参考价值。
本周作业内容:
1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
[[email protected] ~]# cp /etc/rc.d/rc.sysinit /tmp/ #复制文件 [[email protected] ~]# vim /tmp/rc.sysinit #编辑文件 :%s/^[[:space:]]/#&/ #末行模式下查找替换
替换结果对比:
2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
[[email protected] ~]# cp /boot/grub/grub.conf /tmp/ #复制文件 [[email protected] ~]# vim /tmp/grub.conf #vim编辑文件 :%s/^[[:space:]]\+// #末行模式查找替换,不指定替换内容即为删除
删除结果对比:
3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
[[email protected] ~]# vim /tmp/rc.sysinit #vim 编辑文件 :%s/^#[[:space:]]\+// #末行模式查找替换
删除结果对比:
4、为/tmp/grub.conf文件中前三行的行首加#号;
[[email protected] ~]# vim /tmp/grub.conf #vim 编辑文件 :1,3s/^/#&/ #末行模式查找替换,1,3指定搜索范围, :w /tmp/grub.conf.bak #另存为 /tmp/grub.conf.bak [[email protected] ~]# vimdiff /tmp/grub.conf /tmp/grub.conf.bak #vimdiff 对比两个文件
对比结果:
5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
[[email protected] ~]# cp /etc/yum.repos.d/CentOS-Media.repo /tmp/ #复制文件 [[email protected] ~]# vim /tmp/CentOS-Media.repo #vim 编辑文件 :%s/enabled=0/enabled=1/g #全局查找替换 :%s/gpgcheck=0/gpgcheck=1/g
替换前后对比:
6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201608300202
[[email protected] ~]# mkdir /backup [[email protected] ~]# crontab -e 0 */4 * * * /bin/cp /etc /backup/etc-`date +%Y%m%d%H%M`
7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20160830
[[email protected] ~]# crontab -e 0 0 * * 2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-`date +%Y%m%d`
8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
[[email protected] ~]# mkdir /stats [[email protected] ~]# crontab -e 0 */2 * * * /bin/grep ‘^S‘ /proc/meminfo > /stats/memory.txt
9、工作日的工作时间内,每两小时执行一次echo "howdy"
[[email protected] ~]# crontab -e 0 8-17/2 * * 1,2,3,4,5 /bin/echo "howdy" #1-5为工作日,8-17为工作时间
脚本编程练习
10、创建目录/tmp/testdir-当前日期时间;
[[email protected] ~]# vim /MK-testdir.sh #!/bin/bash mkdir /tmp/testdir-`date +%Y%m%d%H%M` [[email protected] ~]# chmod +x /MK-testdir.sh [[email protected] ~]# ll /MK-testdir.sh -rwxr-xr-x. 1 root root 54 9月 9 10:41 /MK-testdir.sh [[email protected] ~]# /MK-testdir.sh [[email protected] ~]# ls /tmp/ 3 CentOS-Media.repo maxusers.txt testdir-201609091042 3] crontab.RT2uVE mylinux tfile-2016-08-12-17-01-01 a_c etc.conf mytest1 yum.log a_d etc.test mytest2 yum_save_tx-2016-08-01-01-55m_XEdJ.yumtx b_c grub.conf mytest3 b_d grub.conf.bak rc.sysinit [[email protected] ~]#
11、在此目录创建100个空文件:file1-file100
[[email protected] tmp]# vim /MK-testdir.sh #!/bin/bash dir=/tmp/testdir-`date +%Y%m%d%H%M` mkdir $dir if [ $? -eq 0 ]; then #判断之前目录是否创建成功,若创建成功则进入循环创建文件file1-file100 for i in {1..100};do touch $dir/file$i done echo ‘touch file1-file100 success.‘ else echo ‘touch file1-file100 failed.‘ fi [[email protected] /]# ./MK-testdir.sh touch file1-file100 success. [[email protected] /]# ll /tmp/testdir-201609091148 总用量 0 -rw-r--r--. 1 root root 0 9月 9 11:48 file1 -rw-r--r--. 1 root root 0 9月 9 11:48 file10 -rw-r--r--. 1 root root 0 9月 9 11:48 file100 -rw-r--r--. 1 root root 0 9月 9 11:48 file11 ......
12、显示/etc/passwd文件中位于第偶数行的用户的用户名;
[[email protected] /]# vim test-6-12.sh #!/bin/bash cat -n /etc/passwd | sed -n ‘n;p‘ | cut -d: -f1 [[email protected] /]# ./test-6-12.sh 2 hadoop 4 daemon 6 lp 8 shutdown .........
13、创建10用户user10-user19;密码同用户名;
[[email protected] work]# vim test-6.13.sh #!/bin/bash # for i in {10..19};do if id user$i &> /dev/null; then echo "user$i exists." else useradd user$i &> /dev/null if [ $? -eq 0 ]; then echo "user$i" | passwd --stdin user$i &> /dev/null echo "add user$i success." fi fi done [[email protected] work]# ./test-6.13.sh Add user10 success. Add user11 success. Add user12 success. Add user13 success. Add user14 success. Add user15 success. Add user16 success. Add user17 success. Add user18 success. Add user19 success.
14、在/tmp/创建10个空文件file10-file19;
[[email protected] work]#vim test-6.14.sh #!/bin/bash for i in {10..19};do touch /tmp/file$i if [ $? -eq 0 ];then echo "file$i touch success." fi done [[email protected] work]# ./test-6.14.sh file10 touch success. file11 touch success. file12 touch success. file13 touch success. file14 touch success. file15 touch success. file16 touch success. file17 touch success. file18 touch success. file19 touch success.
15、把file10的属主和属组改为user10,依次类推。
[[email protected] work]#vim test-6.15.sh #!/bin/bash # for i in {10..19};do if [ -e /tmp/file$i ];then chown user$i:user$i /tmp/file$i &> /dev/null else echo "No Find The file." fi done [[email protected] work]# ./test-6.15.sh [[email protected] work]# ll /tmp/ | grep user -rw-r--r--. 1 user10 user10 0 9月 9 12:30 file10 -rw-r--r--. 1 user11 user11 0 9月 9 12:30 file11 -rw-r--r--. 1 user12 user12 0 9月 9 12:30 file12 -rw-r--r--. 1 user13 user13 0 9月 9 12:30 file13 -rw-r--r--. 1 user14 user14 0 9月 9 12:30 file14 -rw-r--r--. 1 user15 user15 0 9月 9 12:30 file15 -rw-r--r--. 1 user16 user16 0 9月 9 12:30 file16 -rw-r--r--. 1 user17 user17 0 9月 9 12:30 file17 -rw-r--r--. 1 user18 user18 0 9月 9 12:30 file18 -rw-r--r--. 1 user19 user19 0 9月 9 12:30 file19 -rw-r--r--. 1 root root 854 8月 19 18:07 maxusers.txt [[email protected] work]#
本文出自 “博客” 博客,谢绝转载!
以上是关于megeedu Linux+Python高级运维班 3期 第六周作业的主要内容,如果未能解决你的问题,请参考以下文章
megeedu Linux+Python高级运维班 3期 第四周作业