美文网首页
获取系统信息资源、CPU资源 解压和压缩 系统日志轮转 计算容

获取系统信息资源、CPU资源 解压和压缩 系统日志轮转 计算容

作者: _str_ | 来源:发表于2019-08-03 13:57 被阅读0次

    linux系统资源信息的获取

    free

    free -m #显示
    free -h  #显示容量单位
    
    image.png

    uname 系统和内核

    uname []
    选项和参数
    -a : 所有系统相关的信息,包括习下面的数据会被列出来
    -s :系统核心名称
    -r :核心的版本 内核信息
    -m :本系统的硬件名称 例如x86_64
    -p :cpu类型,与-m类似
    -i :硬件的平台
    

    uptime查看系统启动时间于工作负载

    [root@localhost ~]# uptime
     10:55:45 up  1:58,  3 users,  load average: 0.00, 0.01, 0.05
    

    dmesg分析核心产生的讯息

    dmesg
    

    查看LinuxCPU信息

    一般在/proc/cpuinfo中查看

    关键字信息

    processor 逻辑CPU标识
    model name 真实CPU的型号信息 内核数
    physical id 真实CPU和标识
    cpu cores 真实CPU的内核数

    查看物理cpu型号
    grep 'model name' /proc/cpuinfo |uniq
    
    查看物理cpu个数
    grep 'physical id' /proc/cpuinfo|sort -u |wc -l   查看物理cpu个数 经过去重后统计出来数字
    
    查看每颗物理cpu的核心数
    grep 'cpu cores' /proc/cpuinfo |uniq
    
    查看逻辑cpu个数
    grep 'processor' /proc/cpuinfo |wc -l
    
    查看cpu负载情况
    top 关于cpu的好多信息都能看到
    

    proc的文件及其含义

    image.png

    压缩和解压

    现在计算机中系统都用byte来计量,事实上计算机中最小单位是bits,我们存放到电脑中是一堆01代码假设我们把1存进去了那么剩余好多0没存东西 但这些地方无法在存放1了 所以压缩技术就是把这些个没有存放数据的空间给提出来,使得占用空间变小

    常见的压缩文件的扩展名

    *.zip       zip 程序压缩的文件;
    *.gz        gzip 程序压缩的文件;
    *.bz2       bzip2 程序压缩的文件;
    *.xz        xz 程序压缩的文件;
    *.tar       tar 程序打包的数据,并没有压缩过;
    *.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩
    *.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩
    *.tar.xz    tar 程序打包的文件,其中并且经过 xz 的压缩
    
    
    常见的命令工具

    gzip bzip2 xz 这些只能对文件进行压缩不能操作目录
    tar 可以对一个到多个文件或者一个目录进行打包成一个单一的文件 但单独使用tar命令时,只打包不压缩

    gzip

    gzip 压缩解压单个文件
    压缩文件后,自动删除源文件,自动添加.gz为扩展名
    解压文件后,自动删除原压缩文件

    gzip    [-vd]     [file]
    选项和参数
    -v  压缩时侯显示压缩比
    -d  解压
    
    
    压缩
    [root@localhost tmp]# gzip -v services   #压缩services这个文件并显示压缩比
    services:    79.7% -- replaced with services.gz
    [root@localhost tmp]# ll |grep "services"
    -rw-r--r--. 1 root root 136088 7月  29 19:12 services.gz
    [root@localhost tmp]# file services.gz
    services.gz: gzip compressed data, was "services", from Unix, last modified: Mon Jul 29 19:12:25 2019
    解压
    [root@localhost tmp]# gzip -d services.gz
    [root@localhost tmp]# ll |grep "services"
    -rw-r--r--. 1 root root 670293 7月  29 19:12 services
    [root@localhost tmp]# file services
    services: C source, ASCII text
    
    浏览压缩文件
    zless services.gz
    压缩文件并保留源文件
    gzip -c services > services.gz
    

    tar

    用tar命令打包和解压文件时源文件都不会丢失

    通用选项
    
    -c  :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
    -t  :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
    -x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
          特别留意的是, -c, -t, -x 不可同时出现在一串命令行中。
    -v  :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
    -f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项啰!(比较不会忘记)
    -C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
    

    只打包 不压缩

    创建
    tar   -cvf   创建后的文件名.tar    文档1  文档2
    
    查看包内的文件列表
    tar   -tf    创建后的文件名.tar
    
    解包到当前位置
    tar   -xf    创建后的文件名.tar
    
    解包到指定位置
    tar   -xf    创建后的文件名.tar   -C    /tmp
    
    

    打包后压缩

    可以使用的选项
    
    -z  :通过 gzip  的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
    -j  :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
    -J  :通过 xz    的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
     以上 3 个 选项互斥
    
    特别的
    
    -p(小写) :保留备份数据的原本权限与属性,常用于备份重要的配置文件
    -P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
    --exclude=FILE:在压缩的过程中,不要将 FILE 打包!
    
    查看
    查看压缩包的文件列表
    tar -tf  filename.tar.gz
    
    解压
    解压压缩包中的某一个文件
    tar -xf filename.tar.gz 此压缩文件中的某个文件
    解压到指定目录
    tar -xf *.tar.gz -C 指定的目录
    
    压缩的时候排除文档
    打包压缩的时候可以排除一个或者多个文件或者目录
    排除一个文件
    tar   -jcv   -f   t.tar.gz    d1    d2   --exclude=s1
    排除多个文件
    tar  -jcv   -f  t.tar.bz2  d1  d2  --exclude={s1,s2}
    
    目录也可以
    tar  -jcv  -f t.tar.bz2 d1 d2 --exclude=d1
    

    压缩的时候加上日期

    压缩文件为/opt/1.txt 文件  压缩到/tmp下
    tar -czf    /tmp/1.txt_$(date +%F).tar.gz  /opt/1.txt
    显示为 1.txt_2019-08-03.tar.gz
    

    系统日志轮转

    系统日志

    记录系统活动信息有几个文件,他们分别记录了不同的信息
    换句话说就是:记录系统在什么时候由哪个程序做了什么样的行为式,发生了何种的事件

    日志的重要性

    不止系统有日志,在系统上运行的很多应用软件都有自己日志目录。比如mysql默认的日志式/var/log/mysql.log
    这些日志是我们首要的排除的首要入手点,假如系统或者服务出现了错误,要第一时间分析日志中的报错信息。而不是去网上搜索报错信息。因为大部分时候,一个报错信息,有可能会有多种情况导致,所以到结合自己的系统环境分析具体的情况

    常用的系统日志

    /var/log/messages

    这个文件相当的重要的,几乎系统发生的错误讯息(或者式重要的信息)都会记录在这个文件中;如果系统发生莫名的错误时,这个文件时应该首先查询的

    /var/log/secure

    基本上,只要牵涉到“需要输入账号密码”的软件,那么登录时(不管登录正确或错误)都会被记录在此文件中。su sudo等程序、还有网络连线的ssh,telnet等程序,登陆信息都会被记载在这里

    /var/log/boot.log

    开机的时候系统核心会去侦测与启动硬件,接下来开始各种核心支持的功能启动等。这些流程都会记录在 /var/log/boot.log 里面。只保留本次的开机信息。

    /var/log/cron

    记录 crontab 调度有没有实际被进行? 进行过程有没有发生错误? /etc/crontab 是否配置正确?计划日志

    /var/log/dmesg

    记录系统在开机的时候核心侦测过程所产生的各项信息

    var/log/lastlog

    可以记录系统上面所有的账号最近一次等了系统时的相关信息

    var/log/maillog或/var/log/mail/*

    记录邮件的往来信息,其实主要是记录postfix(smtp协定提供者)与dovect(pop3协定提供者)所产生的讯息。smtp是发信所使用的通讯协定,pop3则是收信使用的通讯协定。postfix与devecot则分别是两套达成通讯协定的软件

    /var/log/wtmp, /var/log/faillog

    这两个文件可以记录正确登陆系统者的帐号信息 (wtmp) 与错误登陆时所使用的帐号信息 (faillog)

    centos使用rsyslog.service这个服务来统一管理这些系统日志文件

    日志服务和配置文件

    查看日志服务的状态

    systemctl    status   rsyslog.service
    
    rsyslog.service 的配置文件

    在/etc/rsyslog.conf下
    配置文件用于设置

    (1)什么服务 (2)的什么级别的信息 (3)需要被记录在哪里(设备或文件)

    *.info;mail.none;authpriv.none;cron.none /var/log/messages
    表示所有服务端 info 级别的信息,邮件的 none 级别的信息,登录认证的 none 基本的信息和计划任务的 none 基本的信息都记录到 /var/log/messages 文件中。

    linux核心的syslog的服务类型


    image.png

    都是系统级别的 普通用户无法改变

    linux下syslog定义的日志级别


    image.png

    自定义日志轮转

    在目录下编辑一个文件

    [root@localhost ~]# vim /var/log/shark1.log
    /var/log/shark1.log {
            monthly              >== 每月一次轮转
            size=10M             >== 文件大小大于 10M 时, 也开始轮转
            rotate 2             >== 日志文件保留 2 个
            compress             >== 对旧的日志文件进行压缩
            sharedscripts        >== 轮转之前需要先被执行命令
            prerotate
                    /usr/bin/chattr -a /var/log/shark1.log      >==去掉特殊属性
            endscript
            sharedscripts      >== 轮转之后需要被执行的命令
            postrotate
                /usr/bin/chattr +a /var/log/shark1.log     >== 特殊属性,文件内容只能增加不能删除或者修改
            endscript
    }
    

    可用logrotate 命令测试

    logrotate -vf    /etc/logrotate.conf
    -v  显示轮转的详情
    -f  立刻进行一次轮转
    

    相关文章

      网友评论

          本文标题:获取系统信息资源、CPU资源 解压和压缩 系统日志轮转 计算容

          本文链接:https://www.haomeiwen.com/subject/qqevrctx.html