[命令] Linux 命令 journalctl (显示日志)

内容一:journalctl 日志工具的常用用法

1.1 显示包含某 1 个服务名的关键字的日志

# journalctl | grep <server name keywords>

1.2 显示某 1 个服务某 1 个优先级的日志

# journalctl -u <service> -p <priority>

或者:

# journalctl --unit <service> --priority <priority>

1.3 显示某 1 个编号的日志

# journalctl -n <number of messages>

或者:

# journalctl --lines <number of messages>

1.4 显示从某 1 个日期开始到某 1 个日期结束的日志

# journalctl -S="<yyyy-mm-dd> <HH:MM:SS>" -U="<yyyy-mm-dd> <HH:MM:SS>"

或者:

# journalctl --since="<yyyy-mm-dd> <HH:MM:SS>" --until="<yyyy-mm-dd> <HH:MM:SS>"

内容二:journalctl 日志工具的使用案例

2.1 案例一:显示最近 5 条重要程度在 ERR 及以上的日志信息

# journalctl -p err -n 5

或者:

# journalctl --priority err --lines 5

2.2 案例二:显示所有与服务 httpd 相关的日志信息

# journalctl -u httpd

或者:

# journalctl --unit=UNIT httpd

2.3 案例三:显示所有于 root 用户相关的日志

# journalctl -u root

或者:

# journalctl --user-unit root

或者:

# journalctl _UID=0

2.4 案例四:显示前 5 个小时内的日志信息

# journalctl -S "2019-05-01 14:00" -U "2019-05-01 19:00"

或者:

# journalctl --since "2019-05-01 14:00" --until "2019-05-01 19:00"

2.5 案例五:显示 boot 日志,并在有解释的地方显示解释

# journalctl -bx

或者:

# journalctl --boot --catalog

2.6 案例六:显示内核日志

# journalctl -k

或者:

# journalctl --dmesg

2.7 案例七:显示日志,按页显示,并在有解释的地方显示解释

# journalctl -ex

或者:

# journalctl --pager-end --catalog

2.8 案例八:持续显示日志

# journalctl -f

或者:

# journalctl --follow

2.9 案例九:按时间反序显示日志

# journalctl -r

或者:

# journalctl --reverse

[内容] Linux 系统信息的显示 (内核和系统版本)

内容一:系统环境要求

服务器系统要配置好可用的软件源

内容二:显示内核信息

2.1 方法一

# cat /proc/version

2.2 方法二

# uname -a 

内容三:显示版本信息

3.1 方法一

# lsb_release -a


补充:
1) 如果系统没有 lsb_release 命令则可以单独安装一个
2) CentOS & RHEL 安装 lsb_release 命令的方法:

# yum -y install redhat-lsb-core

3) openSUSE & SUSE 安装 lsb_release 命令的方法:

# zypper -n in lsb-release

3.2 方法二

# cat /etc/*release*

3.3 方法三

# cat /etc/issue

[步骤] CentOS Linux & RHEL YUM 的使用(添加软件源)

步骤一:移除不可用的 YUM 软件源配置文件

1.1 方法一:备份系统自带的 YUM 软件源配置文件

# mkdir /etc/yum.repos.d/repobackup
# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repobackup/

1.2 方法二:删除系统自带的 YUM 软件源配置文件

# rm -rf /etc/yum.repos.d/*.repo

步骤二:添加指定的 YUM 软件源配置

2.1 方法一:使用 yum-config-manager 工具建立新配置文件

# yum-config-manager --add-repo http://example.com/

(补充:这里的 http://example.com/ 指的是官方提供的公共 yum 库链接)

(注意:添加了这个源之后确保对应的 /etc/yum.repos.d/ 配置文件中的 enable=0)

2.2 方法二:手动写一个 YUM 软件源配置文件指定 YUM 软件源

# vim  /etc/yum.repos.d/local.repo

创建以下内容:

[local]
name=local
baseurl=file:///temp
enabled=1
gpgcheck=0 

(补充:这里以软件仓库在 /temp 为例)

步骤三:确认新配置的 YUM 软件源可用

3.1 清理过时 YUM 库的缓存

# yum clean all

3.2 刷新并列出所有可用的软件源

# yum repolist 

[步骤] 网络设置 (通过网卡文件设置 IP 地址、网关 IP 地址和 DNS) (CentOS Linux & RHEL 版)

步骤一:修改网卡配置文件

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

将全部内容修改如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=839428e5-45c0-4dc7-933d-08f3bcf11056
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.11.111
NETMASK=255.255.255.0
GATEWAY=192.168.11.1
DNS1=8.8.8.8
DNS2=114.114.114.114


补充:这里以:
1) 静态 IP 地址
2) 网卡名称是 eth0
3) 网卡 UUID 是 839428e5-45c0-4dc7-933d-08f3bcf11056
4) 开机启动
5) IP 地址是 192.168.11.111
6) 子网掩码是 255.255.255.0
7) 网关 IP 地址是 192.168.11.1
8) 第 1 个 DNS 是 8.8.8.8
9) 第 2 个 DNS 是 114.114.114.114
为例

步骤二:启动网卡

2.1 如果系统版本是 CentOS 7 & RHEL 7 及以下的启动方法

# ifup eth0

或者:

# service network restart

2.2 如果系统版本是 CentOS 8 & RHEL 8 及以上的启动方法

# nmcli connection down eth0
# nmcli connection up eth0

或者:

# reboot

步骤三:显示新网卡的 IP 地址

# ip a s

[工具] Shell 批量检测服务器网络的联通状态

介绍

基本信息

作者:朱明宇
名称:批量检测服务器网络的联通状态
作用:批量检测服务器网络的联通状态

使用方法

1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每个远程服务器名或 IP 地址占用 1 行
3. 在此脚本的分割线内写入相应的内容
4. 给此脚本添加执行权限
5. 执行此脚本

脚本分割线里的变量

list=”servers_all_list.txt” #指定服务器清单

脚本

#!/bin/bash

####################### Separator ########################

list="servers_all_list.txt"

####################### Separator ########################

read -p "will ping please input y " a
echo $a

if [ "$a" != "y" ];then
        echo "you don't agree so exit now"
        exit
fi

num=0

for i in `awk '{print $1}' servers_all_list.txt`
do
        let num++
        echo "$num $i"
        ping -c3 -i0.4 -w0.8 $i
        echo
done


补充:清单示例如下,可直接复制粘贴,如果不更改脚本,清单请命名为 servers_all_list.txt:

db1
db2
db3
web1
web2