vim编辑器使用,cron任务计划和bash编程实例

vim编辑器使用,cron任务计划和bash编程实例

马哥教育网络班20期+第6周课程练习

一、vim编辑器使用总结

vim编辑器使用总结.png

二、cron任务计划

1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;

# cp /etc/rc.d/rc.sysinit /tmp
# vim /tmp/rc.sysinit
:%s/^[[:space:]]\+/#&/

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;

# cp /boot/grub/grub.conf /tmp
# vim /tmp/grub.conf
:%s/^[[:space:]]//

3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符

# vim /tmp/rc.sysinit
:%s/^#[[:space:]]\+//

4、为/tmp/grub.conf文件中前三行的行首加#号;

# vim /tmp/grub.conf
:1,3s/^/#&/

5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;

# vim /etc/yum.repos.d/CentOS-Media.repo
:%s/enabled=0/enabled=1/
:%s/gpgcheck=0/gpgcheck=1/

6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202

# mkdir /backup
# crontab
* */4 * * * /bin/cp -a /etc /backup/etc-$(date +%Y%m%d%H%M)

7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402

# mkdir  -p /backup/messages_logs
# crontab
* * * * 2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d)

8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中

# mkdir /stats
# crontab
* */2 * * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt

9、工作日的工作时间内,每两小时执行一次echo "howdy"

# crontab
* 9-18/2 * * 1-5 /bin/echo "howdy"

三、脚本编程练习

10、创建目录/tmp/testdir-当前日期时间; 

#!/bin/bash
#
dirName=testdir-$(date +%Y%m%d%H%M)
mkdir /tmp/$dirName

11、在此目录创建100个空文件:file1-file100

#!/bin/bash
#
dirName=testdir-$(date +%Y%m%d%H%M)
mkdir /tmp/$dirName
touch /tmp/$dirName/file{1..100}

12、显示/etc/passwd文件中位于第偶数行的用户的用户名;

#!/bin/bash
#
lines=$(wc -l /etc/passwd)
for i in seq{2 2 $lines}; do
    head -n $i /etc/passwd | tail -1 | cut -d: -f1
done

13、创建10用户user10-user19;密码同用户名;

#!/bin/bash
#
for ((i=10;i<=19;i++)); do
    if ! id user$i &> /dev/null; then
        useradd user$i
    fi
    echo "user$i" | passwd --stdin user$i
done

14、在/tmp/创建10个空文件file10-file19;

#!/bin/bash 
#
for ((i=10;i<=19;i++));do
    touch /tmp/file$i
done

15、把file10的属主和属组改为user10,依次类推。

#!/bin/bash
#
for ((i=10;i<=19;i++));do
    chown user$i:user$i /tmp/file$i
done

原创文章,作者:N20-背旅,如若转载,请注明出处:http://www.178linux.com/24843

(0)
N20-背旅N20-背旅
上一篇 2016-07-22 10:11
下一篇 2016-07-22 10:11

相关推荐

  • 任务计划1

    at.allow :优先级高,有此文件,deny无效,只有此文件中的用户可使用at at.deny:优先级低,此文件中的用户拒绝,不在此文件允许 如果都没有,全都拒绝普通用户     [root@localhost ~]# rpm -q  at at-3.1.13-22.el7.x86_64 [root@localhost ~]…

    Linux干货 2017-05-15
  • 测试

    3、查询file.txt以abc结尾的行grep "abc$" file.txt4、删除file.txt文件中的空行grep -v '^$' file.txt > file.txtsed '/^$/d' file.txt > file.txt(覆盖重定向文件变为空该文件为空,但是追加时正常成功。…

    Linux干货 2016-06-12
  • 第三周作业

      1. who |cut -d ” ” -f1|uniq 2.who |head -1 3.cat /etc/passwd | cut -d: -f7|uniq -c |sort -n|tail -1|grep -o “/[[:alnum:]].*” 4. cat /etc/passwd |sort…

    2017-12-16
  • Zabbix-3.2.3实现微信(WeChat)告警

    Zabbix-3.2.3实现微信(WeChat)告警 zabbix Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。 关于邮件报警可以参考:Zabbix Web 邮件报警 一、微信企业号申请 地址: …

    2017-04-21
  • DevOpsDays大会,818坐标上海,我们来啦!!!

    DevOpsDays 818, 坐标上海, DevOpsDays上海大会, 我们来啦!!! 我们来啦!!! 我们来啦!!! 重要的事情说三遍。 标签: 运维  移动开发  IT技术  DevOps  2008年的敏捷会议上,Andrew Clay Shafer 和 Patrick Debois 讨论了关于“敏…

    Linux干货 2017-08-10
  • iproute家族命令

    1 ifconfig up 启动指定网络设备/网卡down 关闭指定网络设备/网卡-a 显示全部接口信息-s 显示摘要信息add 设置指定网卡配置IPv6地址del 删除指定网卡配置IPv6地址mtu<字节数> 设置网卡的最大传输单元(bytes)netmask<子网掩码>设置网卡的子网掩码multicast 为网卡设置组播标志 例子…

    Linux笔记 2018-04-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-22 10:36

    写的很好,排版也很棒,第7个不对,在仔细想想,加油