集中练习4-bash脚本、计划任务

集中练习4-bash脚本、计划任务

1. 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
“`
~]# cp /etc/rc.d/rc.sysinit /tmp/
~]# sed -i ‘s@^[[:space:]]@\# @’ /tmp/rc.sysinit
“`
2. 复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符
“`
~]# cp /boot/grub/grub.conf /tmp
~]# sed -i ‘s/^[[:space:]]\+//’ /tmp/grub.conf
“`
3. 删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行的#和空白字符;
“`
~]# sed -i ‘s/^#[[:space:]]\+//’ /tmp/rc.sysinit
“`
4. 为/tmp/grub.conf文件中的前三行的行首加#号;
“`
~]# sed -i ‘1,3s/^/#/’ /tmp/grub.conf
“`
5. 将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
“`
~]# sed -i -e ‘s/enabled=0/enabled=1/’ -e ‘s/gpgcheck=0/gpgcheck=1/’ /etc/yum.repos.d/CentOS-Media.repo
“`
6. 每4小时执行一次对/etc/目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202;
“`
~]# vim backupetc.sh
#!/bin/bash
#
[ -d /backup ] || mkdir /backup &> /dev/null

mkdir /backup/etc-$(date +%Y%m%d%H%M)
cp /etc/* /backup/etc-$(date +%Y%m%d%H%M)/

~]# crontab -e
0 */4 * * * /root/backupetc.sh
“`
7. 每周2、4、6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-201504020202;
“`
~]# vim backup.sh
#!/bin/bash
#
[ -d /backup/messages_logs ] || mkdir -p /backup/messages_logs
cp /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d%%H%M)

~]# crontab -e
0 0 * * 2,4,6 /root/backup.sh
“`
8. 每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中;
“`
~]# vim memstat.sh
#!/bin/bash
#
[ -d /stats ] || mkdir /stats
echo -e “\n##########$(date +%F-%H)##########” >> /stats/memory.txt
grep “^S” /proc/meminfo >> /stats/memory.txt

~]# crontab -e
0 */2 * * * /root/memstat.sh

“`
9. 工作日的工作时间内,每两小时执行一次echo “howdy”;
“`
~]# crontabl -e
0 9,11,13,15,17 * 1-5 /bin/echo “howdy”
“`
10. 创建目录/tmp/testdir-当前日期时间
“`
~]# mkdir /tmp/testdir-$(date +%F-%H%M)
“`
11. 在此目录中创建100个空文件;file1-file100;
“`
~]# vim craetefile.sh
#!/bin/bash
#
mkdir /tmp/testdir-$(date +%F-%H%M) && cd /tmp/testdir-$(date +%F-%H%M)
for i in `seq 1 100`;do
touch file$i
done
“`
12. 显示/etc/passwd文件中位于偶数行的用户的用户名;
“`
~]# sed -n ‘2~2p’ /etc/passwd | cut -d: -f1
“`

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88073

(0)
N27_sapbcsN27_sapbcs
上一篇 2017-10-26
下一篇 2017-10-27

相关推荐

  • Linux第一周学习博客作业

    对第一周学习的内容进行总结

    Linux干货 2017-12-02
  • Linux系统上的人机交互

    众所周知,计算机上运行的数据流最后都会以二进制的方式流转,这对计算机来说确实没什么问题,但是对人类来说,这样的方式无疑太难理解,所以计算机通过转换,将二进制的0、1字符串转换成人们可以易于理解的字母和数字,来方便计算机与人类的沟通和交互。这样一来,人类可以读取和输入人类习惯的字母和数字;而计算机可以使用自己的0、1字符串接收任务和返回结果。然而,这一过程就少…

    Linux干货 2017-09-01
  • nginx及I/O介绍原理

    上课笔记

    2018-03-12
  • Linux基础知识(五)

    本文主要讲述使用grep做模式匹配,具体示例包括: 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; 3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行; 4、添加用户b…

    Linux干货 2016-10-23
  • cnetos 6.7 内核编译

    简介     Linux内核的体积结构是单内核的,但充分借鉴了微内核设计体系的优点,为内核引入模块化机制,使得虽然是单内核、但工作在模块化的方式下、并且这个模块可以动态装载或卸载;Linux负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。如是我们在了解Linux内核的基础上根据自己的需…

    Linux干货 2016-02-27
  • 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)

    设计模式 ( 十八 ) 策略模式Strategy(对象行为型) 1.概述         在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算…

    Linux干货 2015-07-28