集中练习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 14:25
下一篇 2017-10-27 09:41

相关推荐

  • 第三周

    第三周 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@node1 ~]# who -q | sed -n ‘1p’ centos root fedora redhat mint 2.取出最后登录到当前系统的用户的相关信息。 [root@node1 ~]# who -a | tail -1 mint +…

    Linux干货 2017-07-25
  • 如何安装CentOS 6.8 ?

    一 ,首先我要先在虚拟机的平台上搭建一下我们需要的环境。 1,选择创建一个新的虚拟机。之后选择自定义安装。点击下一步 2,选择硬件兼容性workstation12.0,(根据情况你也可以选择下面的几个版本,不过要记得选择版本之后,不能再这个版本以下打开虚拟机) 3,点击下一步选择安装程序光盘映像文件项。点击下一步。 4,之后创建一下用户信息,点击下一步。 5…

    Linux干货 2017-02-14
  • MySQL 字符集乱码及解决方案

    1、简介         字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库,都存在字符集的选择问题,而且如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的更换是代价比较高的操作,也存在一定的风险,所以,我们推荐在应用开始阶段,就按…

    Linux干货 2015-09-27
  • iptables学习笔记   Netfilter:是Linux操作系统核心层内部的一个数据包处理模块。   Hook point:数据包在Netfilter中的挂载点。(PRE_ROUTIN   ,INPUT,OUTPUT,FORWARD,POST_ROUTING)   iptables 规则组成:四张表+五条链(Ho…

    Linux干货 2016-12-05
  • Linux下的LVM管理命令

    一. 何为LVM?     Logical Volume Manager的缩写,它可以把多个分区、硬盘甚至RAID组合成一个存储设备来使用,并可以扩展或缩减空间。LVM有三层组成组成:底层的PV,中间的VG,上层的LV,如图所示         &n…

    Linux干货 2015-12-06
  • 马哥教育网络班19期+第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;         mke2fs -b 2048 -m 2 -L 'MYDATA' -o defau…

    Linux干货 2016-06-21