热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第六周作业(crontab,rpm,yum,sed使用)

1.每12小时备份并压缩etc目录至backup目录中,保存文件格式为:“etc-年-月-日-时-分.tar.gz”[root@192~]#mkdirbackup

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

[root@192 ~]# mkdir backup                            #####创建backup目录
[root@192 ~]# crontab -e                                 ####打开编辑界面定义任务

0 */12 * * * tar -zcf /backup/etc-$(date +"%Y-%m-%d-%H-%M").tar.gz /etc   >/dev/null      
保存即可,提示信息为crontab: installing new crontab

2. rpm包管理功能总结以及应用演示。

rpm包的功能:将编译好的应用程序的各组成文件打包成一个或者多个程序包文件,从而方便的实现程序包的安装、升级、卸载和查询等功能。

组织格式:(1)程序包的清单文件(即安装或者卸载时需要运行的脚本),每个程序包都单独实现

     (2)数据库:/usr/lib/rpm/目录下,主要是提供程序包的名称和版本、包与包的依赖关系、软件功能说明以及安装生成各文件路径及校验信息等

获取程序包的途径:

(1)系统的发行版的光盘或者官方的文件服务器或者镜像站点,主要有http://mirrors.aliyun.com;http://mirrors.suhu.com ; http://mirrors.163.com

(2)项目的官方站点:如http.apache.org ; www.zabix.org

(3)第三方组织,如epel或者搜索工具(pkgs.org 、 rpmfind.net 、rpm.pbone.net)

(4)自己制作的rpm包

rpm程序包管理

Centos系统上rpm命令管理程序包(安装、升级、卸载、查询和校验以及数据库维护)

安装

格式:rpm [OPTIONS]  [Package_file]

                      -i | --install  :安装

[install-options] :-v:显示安装过程中的详细信息

        -h:以#显示进度条

        --test:测试安装,不真正安装,仅报告依赖信息和冲突信息

        --nodeps:忽略依赖关系

        --replacepkgs:覆盖安装

        --force:强制安装

常用组合选项:-ivh;-ivvh(显示更加详细的信息)

演示:安装zsh程序包

~]# rpm  -ivh  zsh-5.0.2-7.e17.x86_64.rpm

升级

rpm {-U | --update }[install options] PACKAGE_FILE

      -U :升级或安装

rpm {-F | --freshen }[install options] PACKAGE_FILE

      -F:升级

组合使用:-Uvh;-Fvh

[install options] :

--test:测试安装,不真正安装,仅报告依赖信息和冲突信息

        --nodeps:忽略依赖关系

        --oldpackages:降级到旧版本

注意:(1)不要对内核执行升级,linux允许多个内核共存,因此可以直接安装多个不同版本的内核

   (2)如果程序包的配置文件安装之后曾被修改,升级时,新版本的文件不会覆盖老版本的配置文件,而是把新版本的配置文件重命名后保存(加后缀.rpmnew)

卸载:移除已经安装的程序包

rpm {-e |--erase}  [OPTIONS] PACKAGE_FILE

                              --allmatches:若一个程序包同时安装多个版本,则一次性卸载

         --nodeps:忽略依赖关系

         --test:测试卸载

查询:查看某包是否已经安装,以及检查安装的所有的包,还可以查询某包的具体信息

用法:rpm {-q | --query} [selece-options]  [query-options]  

[selece-options] :挑选选项

        rpm -q PACKAGE_NAME:查询指定的包是否已经安装以及其版本

        rpm  -qa :查询已经安装的程序包

        rpm  -qf /PATH/TO/SMEFILE :查询某文件是由哪个安装包生成

        rpm -qpi:查询尚未安装的程序包的相关信息      

        --whatprovides CAPABILITY :查询制定的CAPABBILITY是由哪个安装包生成

        --whatrequires CAPABILITY:查询制定的CAPABBILITY是被哪个安装包所依赖

 [query-options] :查询选项

(1)--change:查询某rpm包的修改日志

如:~]# rpm -q --change bash

(2)-l | --list :列出某安装包生成的文件列表

如:~]# rpm -ql bash 

(3)-i :查询某包的简要说明信息

如:rpm -qi bash

(4)-c:查询某包安装完成后生成的所有配置文件

如:~]#rpm -qc bash

(5)-d:查询指定程序包提供的帮助文档

如:~]#rpm -qd bash

(6)--provides:列出指定程序包提供的CAPABILITY;--whatprovides:查询bash能力由哪个程序包提供

如:~]#rpm -q  --provides bash  ;      ~]#rpm -q  --whatprovides bash 

(7)--requires:查询某包依赖的CABABILITY

如:rpm -q --requires bash

(8)--scripts:查询某包安装或卸载时的执行脚本(脚本由4类)

如:rpm -q --scripts bash

四类脚本:preinstall:安装过程开始之前执行的脚本

       postinstall:安装过程完成之后执行的脚本

       preuninstall:卸载之前执行的脚本

       postuninstall:卸载过程完成之后执行的脚本

示例:

[root@192 ~]# rpm -qi bash            #########查询bash的简要说明信息
Name        : bash
Version     : 4.2.46
Release     : 30.el7
Architecture: x86_64
Install Date: 2018年10月30日 星期二 21时34分37秒
Group       : System Environment/Shells
Size        : 3667709
License     : GPLv3+
Signature   : RSA/SHA256, 2018年04月25日 星期三 18时54分19秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : bash-4.2.46-30.el7.src.rpm
Build Date  : 2018年04月11日 星期三 08时55分22秒
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem
Vendor      : CentOS
URL         : http://www.gnu.org/software/bash
Summary     : The GNU Bourne Again shell
Description :
The GNU Bourne Again shell (Bash) is a shell or command language
interpreter that is compatible with the Bourne shell (sh). Bash
incorporates useful features from the Korn shell (ksh) and the C shell
(csh). Most sh scripts can be run by bash without modification.
[root@192 ~]# rpm -qc httpd                        ###########查询httpd包安装之后生成的配置文件
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd

校验:查询安装之后生成的文件是否发生了改变

格式:rpm {-V | verify} [select-option] [verify-option]

[root@192 ~]# rpm -V httpd
              

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数量并排序

#!/bin/bash

# nginx_log='/usr/local/nginx/logs/mynginx.log'

code_400_num=$(grep -o '[4|5][0-9][0-9]' ${nginx_log} | wc -l)

code_400_sort=$(grep '[4|5][0-9][0-9]' ${nginx_log} | sort

echo $code_400_num

echo $code_400_sort

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

 


推荐阅读
  • 转自:http:www.dingge.commainarticle.asp?id10今天整理了一些#define的用法,与大家共享!1.简单的define定义#define ... [详细]
  • 一、概述nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的 ... [详细]
  • Linux运维 第五阶段 puppet基础
    一、相关概念:1、puppet基于CS架构,使用ruby编写,在类UNIX平台上集中配置管理系统,它可以管理配置文件、用户、 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 使用这个技巧要达到的目标:一般来说,模型和控制器你都不会有相同的类名字。让我先创建一个取名为post的model。classPostextendsModel{}现在 ... [详细]
  • PLSQL块:PLSQL块都用于解决特定问题,PLSQL块可以有参数,也可以相互调用。PLSQL块可以作为模式对象在Oracle数据库中保存,根据用途可以 ... [详细]
  • 1、PLSQLDeveloper记住登陆密码在使用PLSQLDeveloper时,为了工作方便希望PLSQLDeveloper记住登录Oracle的用户名和密码&#x ... [详细]
  • Linuxcrontab(定时任务)语法crontab[options]常用参数:设置定时任务任务格式在任务的编辑界面中,任务的格式为:前面是任务执行的周期,分为分钟、小时、天、月 ... [详细]
  • Autoware 进行 Robosense16 线雷达与 ZED 双目相机联合标定!
    项目要标定雷达和相机,这里记录下我标定过程,用的速腾Robosense-16线雷达和ZED双目相机。一、编译安装Autoware-1.10.0我没有安装最新版本的Autoware, ... [详细]
author-avatar
冰淇淋泡火锅_589
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有