linux网速监控脚本

保存到net.sh文件,添加可执行权限,使用方法net.sh 网卡名称

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash

ethn=$1

if [ $# != 1 ];then
        echo "USEAGE: $0 enthn"
        echo "e.g.: $0 ens33"
        exit 1;
fi

while true
do
    RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
    TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')
    sleep 1
    RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
    TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')

    clear
    echo -e "\t RX `date +%k:%M:%S` TX"

    RX=$((${RX_next}-${RX_pre}))
    TX=$((${TX_next}-${TX_pre}))

    if [[ $RX -lt 1024 ]];then
        RX="${RX}B/s"
    elif [[ $RX -gt 1048576 ]];then
        RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
    else
        RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
    fi

    if [[ $TX -lt 1024 ]];then
        TX="${TX}B/s"
    elif [[ $TX -gt 1048576 ]];then
        TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
    else
        TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
    fi

    echo -e "$ethn \t $RX $TX "
done

Centos7 出现 curl: (60) Peer’s Certificate has expired. 问题

使用Centos7出现证书错误

使用curl下载文件时出现curl: (60) Peer's Certificate has expired.错误

由系统时间偏差造成的。

解决方法:同步系统时间

1
2
3
4
5
6
7
8
[root@localhost ~]# yum install ntp -y

[root@localhost ~]# date -R
Tue, 14 Apr 2020 04:59:22 +0800
[root@localhost ~]# ntpdate -u 0.centos.pool.ntp.org
21 May 16:38:14 ntpdate[26149]: step time server 185.255.55.20 offset 3238716.334095 sec
[root@localhost ~]# date -R
Thu, 21 May 2020 16:38:17 +0800

未命名文档

MySQL

null和空的区别

NULL也就是在字段中存储NULL值,空值也就是字段中存储空字符("")。

  • 占空间区别
1
2
3
4
5
6
@test> select length(NULL), length(""), length("1");
+--------------+------------+-------------+
| length(NULL) | length("") | length("1") |
+--------------+------------+-------------+
| <null>       | 0          | 1           |
+--------------+------------+-------------+

EXPLAIN分析MySQL语句

EXPLAIN分析MySQL语句

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了。

此时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。

所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。(QEP:sql生成一个执行计划query Execution plan)