• 1、每12小时备份并压缩/etc/目录至/backup目录中,保存文件名称格式为,“etc-年-月-日-时-分.tar.gz”、
  • 2、rpm包管理功能总结以及实例应用演示
  • 3、yum的配置和使用总结以及yum私有仓库的创建
  • 4、写一个脚本实现列出以下菜单给用户:
    (1)disk:show disk info信息
    (2)mem: show memory info信息
    (3)cpu: show cpu info信息
    (*)quit
  • 5、sed用法总结并结合实例演示
  • 6、 用bash实现统计访问日志文件中状态码大于等于400的IP数量并排序
  • 7、 使用自制的yum源安装ftp、openssh、curl、wget、tcpdump等软件包

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

[root@localhost backup]# tar -czv -f /backup/etc-"$(date +%F-%H-%M)".tar.gz /etc       #测试基本命令是否可以正确运行
[root@localhost backup]# crontab -e            #编辑循环任务0 */12 * * * tar -czv -f /backup/etc-"$(date ++%F-%H-%M)".tar.gz /etc

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

  二进制应用程序的组成部分:
    二进制文件、库文件、配置文件、帮助文件
  程序包管理器:
    debian:deb文件,dpkg包管理器
    redhat:rpm文件,rpm包管理器
    rpm:Redhat Package Manager
    RPM Package Manager
  UEFI(统一扩展固件接口)硬件支持GPT,使操作系统启动
  软件运行和编译:
    ABI:Application Binary Interface
    WINDOWS和Linux不兼容
      ELF
      PE
    库级别的虚拟化:
      Linux:WINE
      Windows:Cygwin
  API:Application Prigramming Interface
      POSIX:Portable OS
  程序源代码–>预处理–>编译–>链接
    静态编译:.a
    动态编译:。so

  包命名:
    源代码:name-VERSION.tar.gz|bz2|xz
    VERSION:major.minor.release
    rpm包命名方式:
      name-VERSION-release.arch.rpm
      例:bash-4.2.46-19.el7.x86)64.rpm
      VERSION:major.minor.release
      release:release.OS
      常见的arch:
      x86:i386,i486,i586,i686
      x86_64:x86_64,amd64
      powerpc:ppc
      跟平台无关:noarch
    包:分类和拆包
      Application-VERSION-ARCH.rpm:主包
      Application-devel-VERSION-ARCH.rpm:开发子包
      Application-utils-VERSION-ARCH.rpm:其他子包
      Application-libs-VERSION-ARCH.rpm:其他子包
    包之间:可能存在依赖关系,甚至循环依赖
    解决依赖包管理工具
      yum:rpm包管理器的前端工具
      apt-get:deb包管理器前端工具
      zypper:suse上的rpm前端管理工具
      dnf:Fedora 18+ rpm 包管理器前端管理工具

  包管理器:
    程序包管理器:
      功能:将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装、卸载、查询、升级和校验等管理操作。
    包文件组成(每个包独有)
      RPM包内的文件
      RPM的元数据,如名称,版本,依赖性,描述等。
      安装或卸载时运行的脚本
    数据库(公共):/var/lib/rpm
      程序包名称及版本
      依赖关系
      功能说明
      包安装后生产的各文件路径及校验码信息

  程序包的来源:
    管理程序包的方式:
      使用包管理器:rpm
      使用前端工具:yum,dnf
    获取程序包的途径:
      (1)系统发版的光盘或官方的服务器:
      centos镜像:
      https://www.centos.org/download/
      (2)项目官方站点
      (3)第三方组织:
       Fedora-EPEL:http://pkgs.org
      (4)自己制作:第三方的建议检查包的合法性

  rpm包管理:
    centos系统上使用rpm命令管理程序包:
      安装、卸载、升级、查询、校验、数据库维护
      安装:
      rpm{-i|–install}[install-options]PACKAGE_FILE…
      -v:verbose
      -vv:
      -h:以#显示程序包管理执行进度
      rpm -ivh PACKAGE_FILE…

  [install-options]:
      --test:测试安装,但不真正执行安装,即dry run模式
      --nodeps:忽略依赖关系
      --replacepkgs|replacefiles
      --nosignature:不检查来源合法性
      --noscripts:不执行程序包脚本
        %pre:安装前脚本;–nopre
        %post:安装后脚本;–nopost
        %pre:安装前脚本;–nopreun
        %pre:安装前脚本;–nopostun

  rpm包升级:
    升级:
    rpm{-U|–upgrade}[install -options] PACKAGE FILE…
    rpm{-F|–freshen}[install -options] PACKAGE FILE…
        upgrade:安装有旧版程序包,则"升级"(如果不存在旧版程序包,则"安装"
        fresh:安装有旧版程序包,则"升级"(如果不存在旧版程序包,则不知想升级操作
        rpm -Uvh PACKAGE_FILE…
        rpm -Fch PACKAGE_FILE…
   --oldpackage:降级
   --force:强制安装
  注意:
(1)不要对内核做升级操作;Linux支持多内核版本并存,因此,对直接安装新版本内核
(2)如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

  包查询:
    rpm{-q|–query}[select-options]【query-options】
    [select-options]
        -a:所有包
        -f:查看指定的文件由哪个程序包安装生成
        -p rpmfile:针对未安装的程序包文件做查询操作
        --whatprovides CAPABILIITY:查询指定的CAPABILITY由哪个包所提供
        --whatrequires CAPABILIITY:查询指定的CAPABILITY由哪个包所依赖
    rpm2cpio 包文件|cpio -itv 预览包内文件
    rpm2cpio 包文件|cpio -id ”*.conf“ 释放包内文件

    [query-options]
        --changelog:查询rpm包的changelog
        -c:查询程序的配置文件
        -d:查询程序的文档
        -i:information
        -l:查看指定的程序包安装后生成的所有文件
        --scripts:程序包自带的脚本
        --provides:列出指定程序包所提供的CAPABILITY
        -R:查询指定的程序包所依赖的CAPABILITY
    常用查询用法:
        -qi PACKAGE,-qf FILE,-qc PACKAGE,-ql PACKAGE, -qd PACKAGE
        -qpi PACKAGE_FILE,-qpl PACKAGE_FILE,…
        -qa
    包卸载:
        rpm{-e|–erase}[–allmatches]【–nodeps】【–noscripts】【–notriggers】【–test】PACKAGE_NAME…

  包校验:
    包来源合法性验证及完整性验证
        完整性验证:SHA256
        来源合法性验证:RSA
    公钥加密
        对称加密:加密、解密使用同一密钥
emsp;       非对称加密:密钥是成对儿
        public key:公钥,公开所有人
        secret key:私钥,不能公开
    导入 所需要公钥
        rpm -k|checksig rpmfile 检查包的完整性和签名
        rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
        CentOS 7 发行版光盘提供:RPM-GPG-KEY-Centos-7
        rpm -qa “gpg-pubkey”

  rpm数据库:
    数据库重建:
        /var/lib/rpm
    rom{–initdb|–rebuilddb}
        initdb:初始化
        如果事先不存在数据库,则新建之
        否则,不执行任何操作
        rebuildb:重建已安装的包头的数据库索引目录

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

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

(1)disk:show disk info信息
(2)mem: show memory info信息
(3)cpu: show cpu info信息
(*)quit

#!/bin/bash
ch="plese choose the menu(1-4):"
select menu in disk mem cpu quit;docase $menu indisk)df -h                                                                 break;;mem)free -hbreak;;cpu)lscpubreak;;quit)killall select.shbreak;;*)echo error;;esac
done

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

  处理文本的工具sed
    Stream EDitor,行编辑器
  sed是一种流编辑器 ,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如’D’的特殊命令,那会在两个循环之间情况模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
  功能主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等
  参考http://www.gnu.org/software/sed/manual/sed.html

  sed工具
    sed[option]…‘scrept’ inputfile…
  常用选项:
    -n:不输出模式空间内容到屏幕,即不自动打印
    -e:多点编辑
    -f:/PATH/SCRIPT_FILE:从指定文件中读取编辑脚本
    -r:支持使用扩展正则表达式
    -i.bak:备份文件并原处编辑
  script:
    “地址命令”
  地址定界:
    (1)不给地址:对全文进行处理
    (2)单地址:
      #:指定的行,$:最后一行
      /pattern/:被此处模式所能够匹配到的每一行
    (3)地址范围:
      #,#
      #,+#
      /pat1/,/pat2/
      #,/pat1/
    (4)~:步进
      1~2奇数行
      2~2偶数行
  编辑命令:
    d:删除模式空间匹配的行,并立即启用下一轮循环
    p:打印当前模式空间内容,追加到默认输出之后
    a[]text:在指定行后面追加文本(支持使用\n实现多行文本)
    i[]text:在行前面插入文本
    c[]text:替换行为单行或多行文本
    w/path/somefile:保存模式匹配的行至指定文件
    r/path/somefile:读取指定文件的文本至模式空间中匹配到的行后
    =:为模式空间中的行打印行号
    !:模式空间中匹配行取反处理
  **sed///:**查找替换,支持使用其他分隔符,s@@@,s###
  替换标记:
    g:行内全局替换
    p:显示替换成功的行
    w/path/to/somefile:将替换成功的行保存至文件中
/etc/default/grub这个文件可以影响网卡命名,方便批量管理机器
要实现不同系统网卡名一样,所以在这后面加 字符

  高级编辑命令:
    P:\n回车 换行 如果模式空间有几行,只打印第一行,如果是小p就全部打印
    h:模式空间读出来覆盖保持空间
    H:模式空间读出来追加保持空间
    g:从保持空间去除内容覆盖至模式空间
    G:保持模式内容追加至模式空间
    x:把模式空间中的内容与保持空间中的内容进行互换
    n:读取匹配行的下一行覆盖模式空间第一行
    N:第一行第二行都在模式空间/ 读取匹配行的下一行追加模式空间
    d:删除模式空间的行
    D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会发出d命令那样启动正常的新循环
如果有好几行会删除第一行,并且不会读新的下一行

  sed示例:
    sed ‘2p’ /etc/passwd_____显示第二行,默认全部打印,第二行打印2遍
    sed -n ‘2p’ /etc/passwd 只打印第二号
    sed -n ‘1,4p’ /etc/passwd
只打印1~4行
    sed -n ‘/root/p’ /etc/passwd _____打印包含root行
    sed -n '2,/root/p /etc/passwd _____打印第2行到包含root的行
    sed -n ‘/^KaTeX parse error: Expected group after '_' at position 6: /=' _̲____ file 空行显示行…/p’ -e ‘/^$/=’ _____空行显示行号并且把行业打印出来
    sed ‘/root/a\superman’ etc/passwd行后 _____在包含root行后面追加supermanZ字符串
    sed ‘/root/i\superman’ etc/passwd 行前 _____在包含root行前面加superman
    sed ‘/root/c\superman’ etc/passwd 代替行 _____在包含root行替代superman
    nl /etc/passwd | sed '2a tea '_____在第二行追加 tea

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

#!/bin/bash
read -p "please input ipcount >=   " ipawk '{print $1}' /var/log/httpd/access_log20190 | sort |uniq -c |sort -n|awk '$1>=$ip {print $1,$2}'

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

[root@localhost scripts]# yum install -y ftp --enablerepo=Local Yum
[root@localhost scripts]# yum install -y openssh --enablerepo=Local Yum
[root@localhost scripts]# yum install -y wget --enablerepo=Local Yum
[root@localhost scripts]# yum install -y tcpdump --enablerepo=Local Yum

linux计划任务和yum相关推荐

  1. Linux 计划任务 访问网页

    1.linux安装 [root@CentOS ~]# yum -y install vixie-cron [root@CentOS ~]# yum -y install crontabs 说明: vi ...

  2. linux的周期计划任务叫atd,linux计划任务

    一.单一计划任务 安装at: # yum -y install at 启动: # /etc/init.d/atd start 查看是否运行: # ps aux | grep atd 创建计划 # at ...

  3. linux计划任务执行bin文件,Linux任务计划和周期性任务执行

    linux计划任务有两类 at:未来某个时间点仅执行一次任务就结束的指令,at指令执行时必须要有atd这个服务支持. crontab:可以以时间单位为分钟,小时,每天,每周,每月,每年等循环执行某任务 ...

  4. 云计算实战系列十三(Linux计划任务)

    Linux计划任务 知识点: · 循环调度执行 cron 用户级 · 企业应用项目实战(cron) · /etc/crontab · 日志的重要性 · rsyslog 日志管理 · logrotate ...

  5. Linux计划任务-定时任务

    Linux计划任务-定时任务 at单次计划任务 at命令格式 查看at任务 取消at计划任务 创建1分钟后的单次任务 定时任务分类 cron`系统任务调度` /etc/crontab文件格式 用户任务 ...

  6. Linux系列教程——1 Linux磁盘管理、2 Linux进程管理、3 Linux系统服务、 4 Linux计划任务

    文章目录 1 Linux磁盘管理 1.磁盘的基本概念 1.什么是磁盘 2.磁盘的基本结构 3.磁盘的预备知识 1.磁盘的接口类型 2.磁盘的基本术语 3.磁盘在系统上的命名方式 4.磁盘基本分区Fdi ...

  7. 运维基本功(十):Linux计划任务以及进程检测与控制

    本文是在课程课件基础上修改的学习笔记 课程原地址:https://www.bilibili.com/video/BV1nW411L7xm 如有侵删 运维基本功(一):Linux系统安装 运维基本功(二 ...

  8. linux计划任务at-crontab 与日志的管理使用

    linux计划任务与日志的管理 引子: 大家平常都会有一些比如说:你每天固定几点起床?每天按时上班打卡.每月 15 号准时开工资.每年 2 月 14 你俩口子某某纪念日等这些诸如此类,这些都是定时发生 ...

  9. linux下rpm,yum学习

    linux下RPM及yum学习 linux中程序管理程序主要分为两类 dpkg(Debian Packager):debian,Ubuntu,Knoppix         rpm(Redhat Pa ...

最新文章

  1. 我看过的编译原理方面的好文章
  2. mysql 进阶_mysql进阶知识
  3. GXU - 7D - 区间求和 - 前缀和
  4. C++:20---成员变量初始化方式
  5. ie compatibility
  6. win8 任务栏不合并隐藏标题
  7. Ionic 框架宣布 2019 年将正式支持 Vue 和 React
  8. OpenUDID 和 IDFA 比较
  9. 微信小程序自定义拍照和H5调用摄像头拍照
  10. 万能五笔输入法弹窗_万能五笔输入法广告怎么去掉
  11. C语言运算优先级口诀
  12. 简约高级导航源码+支持PC/WAP有后台
  13. 本地存储-系统和保留-系统文件占用存储空间过大的解决方式
  14. 小米 oj 22 题 找到第 N 个数字
  15. 优雅地寻找网站源码(一)
  16. 机器人技术(5)AtdRobot无线手柄控制教程
  17. SpringSecurity:登录
  18. 牛客练习赛52 B Galahad (树状数组)
  19. 阿姆达尔定律 是什么 Amdahl 并行效率计算经验法则
  20. echo “新密码“ | passwd --stdin 用户名

热门文章

  1. java环境变量配置检验_配置检测JDK环境的方法整理,非常详细
  2. 笔记本电脑通过CLASH开代理热点给手机
  3. visual studio 管理员与用户区分_Cockpit 及其网页用户界面的演变 | Linux 中国
  4. 计算机安全德育,信息技术教学中的德育渗透
  5. Matlab实现《追光者》简谱
  6. 关于stringstream的用法总结
  7. 如何在ASP.NET MVC中实现提交若干个某模型的数据(某Model的List或ICollection,大小不定)
  8. WPF DataGrid 使用
  9. 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B/S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
  10. php mysql日程管理系统_GitHub - Uyouii/WebTaskManager: web端的日程管理系统 apache + php + mysql...