2019-01-08

一、每12小时备份并压缩/etc/目录至/backup目录中,保存文件名称格式为,"etc-年-月-日-时-分.tar.gz"

1、crontab -e

2、0 */12 * * * /usr/bin/tar -zcf /backup/etc-$(date +\%F-\%H-\%M-\%S).tar.gz /etc

二、rpm包管理功能总结以及实例应用演示。

1、https://www.cnblogs.com/stevel/p/10316088.html

三、yum的配置和使用总结以及yum私有仓库的创建。

1、https://www.cnblogs.com/stevel/p/10316372.html

2、yum命令的用法:

yum [options] [command] [package ...]

  command is one of:

    * install package1 [package2] [...]

    * update [package1] [package2] [...]

    * update-to [package1] [package2] [...]

    * check-update

    * upgrade [package1] [package2] [...]

    * upgrade-to [package1] [package2] [...]

    * distribution-synchronization [package1] [package2] [...]

    * remove | erase package1 [package2] [...]

    * list [...]

    * info [...]

    * provides | whatprovides feature1 [feature2] [...]

    * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

    * makecache

    * groupinstall group1 [group2] [...]

    * groupupdate group1 [group2] [...]

    * grouplist [hidden] [groupwildcard] [...]

    * groupremove group1 [group2] [...]

    * groupinfo group1 [...]

    * search string1 [string2] [...]

    * shell [filename]

    * resolvedep dep1 [dep2] [...]

    * localinstall rpmfile1 [rpmfile2] [...]

      (maintained for legacy reasons only - use install)

    * localupdate rpmfile1 [rpmfile2] [...]

      (maintained for legacy reasons only - use update)

    * reinstall package1 [package2] [...]

    * downgrade package1 [package2] [...]

    * deplist package1 [package2] [...]

    * repolist [all|enabled|disabled]

    * version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]

    * history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

    * check

    * help [command]


显示仓库列表:

repolist [all|enabled|disabled]

    # yum repolist


显示程序包:

list

# yum list [all | glob_exp1] [glob_exp2] [...]

# yum list {available|installed|updates} [glob_exp1] [...]

安装程序包:

install package1 [package2] [...]

reinstall package1 [package2] [...]  (重新安装)

升级程序包:

update [package1] [package2] [...]

downgrade package1 [package2] [...] (降级)

检查可用升级:

check-update

卸载程序包:

remove | erase package1 [package2] [...]

查看程序包information:

info [...]

查看指定的特性(可以是某文件)是由哪个程序包所提供:

provides | whatprovides feature1 [feature2] [...]

清理本地缓存:

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

构建缓存:

makecache

搜索:

search string1 [string2] [...]

以指定的关键字搜索程序包名及summary信息;

查看指定包所依赖的capabilities:

deplist package1 [package2] [...]

查看yum事务历史:

history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

安装及升级本地程序包:

* localinstall rpmfile1 [rpmfile2] [...]

      (maintained for legacy reasons only - use install)

    * localupdate rpmfile1 [rpmfile2] [...]

      (maintained for legacy reasons only - use update)

包组管理的相关命令:

    * groupinstall group1 [group2] [...]

    * groupupdate group1 [group2] [...]

    * grouplist [hidden] [groupwildcard] [...]

    * groupremove group1 [group2] [...]

    * groupinfo group1 [...]

如何使用光盘当作本地yum仓库:

(1) 挂载光盘至某目录,例如/media/cdrom

# mount -r -t iso9660 /dev/cdrom /media/cdrom

(2) 创建配置文件

[CentOS7]

name=

baseurl=

gpgcheck=

enabled=

yum的命令行选项:

--nogpgcheck:禁止进行gpg check;

-y: 自动回答为“yes”;

-q:静默模式;

--disablerepo=repoidglob:临时禁用此处指定的repo;

--enablerepo=repoidglob:临时启用此处指定的repo;

--noplugins:禁用所有插件;

yum的repo配置文件中可用的变量:

$releasever: 当前OS的发行版的主版本号;  centos 6.6  主版本号6

$arch: 平台; i386 i486 i586  x64

$basearch:基础平台; 全部识别为i386

四、写一个脚本实现列出以下菜单给用户:

(1)disk:show disk info信息

(2)mem: show memory info信息

(3)cpu: show cpu info信息

(*)quit

[root@localhost script]# cat menu.sh

#!/bin/bash

#

cat << EOF

disk: show disk info

mem: show memory info

cpu: show cpu info

quit:

EOF

read -p "Select Mune: " option

if [[ "$option" == "disk" ]];then

fdisk -l /dev/[sh]d[a-z]

elif [[ "$option" == "mem" ]];then

free -m

elif [[ "$option" == "cpu" ]];then

lscpu

elif [[ "$option" == "quit" ]];then

echo "quit"

else

echo "Please input option"

fi

五、sed用法总结并结合实例演示

  sed命令行格式为:

         sed [-nefri] ‘command’ 输入文本

常用选项:

        -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

        -e∶直接在指令列模式上进行 sed 的动作编辑;

        -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;

        -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)

        -i∶直接修改读取的档案内容,而不是由萤幕输出。     

常用命令:

        a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

        c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

        d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;

         i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

         p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~

         s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

举例:(假设我们有一文件名为ab)

     删除某行

     [root@localhost ruby] # sed '1d' ab              #删除第一行

     [root@localhost ruby] # sed '$d' ab              #删除最后一行

     [root@localhost ruby] # sed '1,2d' ab           #删除第一行到第二行

     [root@localhost ruby] # sed '2,$d' ab           #删除第二行到最后一行

  显示某行

.    [root@localhost ruby] # sed -n '1p' ab           #显示第一行

     [root@localhost ruby] # sed -n '$p' ab           #显示最后一行

     [root@localhost ruby] # sed -n '1,2p' ab        #显示第一行到第二行

     [root@localhost ruby] # sed -n '2,$p' ab        #显示第二行到最后一行

  使用模式进行查询

     [root@localhost ruby] # sed -n '/ruby/p' ab    #查询包括关键字ruby所在所有行

     [root@localhost ruby] # sed -n '/\$/p' ab        #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

六、 用bash实现统计访问日志文件中状态码大于等于400的IP数量并排序

七、 使用自制的yum源安装ftp、openssh、curl、wget、tcpdump等软件包

你可能感兴趣的:(2019-01-08)