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

linux系统资源信息的获取

free

free -m #显示
free -h  #显示容量单位
获取系统信息资源、CPU资源 解压和压缩 系统日志轮转 计算容量单位_第1张图片
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的文件及其含义

获取系统信息资源、CPU资源 解压和压缩 系统日志轮转 计算容量单位_第2张图片
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的服务类型


获取系统信息资源、CPU资源 解压和压缩 系统日志轮转 计算容量单位_第3张图片
image.png

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

linux下syslog定义的日志级别


获取系统信息资源、CPU资源 解压和压缩 系统日志轮转 计算容量单位_第4张图片
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资源 解压和压缩 系统日志轮转 计算容量单位)