打开或关闭接口的时间

打开或关闭接口的时间

如何以以下格式[dd-mm-yy/hh:mm:ss]将接口打开或关闭的时间写入文件中?我想要存储这样的数据:

[12-12-12/10:21:00] interface UP  
[14-12-12/19:11:14] interface DOWN 

答案1

可以使用dmesgfrom 终端访问与接口相关的日志。但是,重新启动系统后,日志将不再可用。我为您提供了一个脚本,用于存储接口启动/关闭日志~/interface_up_down.log。您需要在重新启动或关闭系统之前使用它。将以下脚本保存为save_interface_log.sh

#!/bin/bash

dmesg -T | grep "link becomes ready" | grep $1 | awk -F "]" '{print $1}' | awk '{print $4}'| while read var1;
do
    echo -e "[$(date +%d-%m-%y)/$var1]\t$1\tUP" >> ~/interface_up_down.log
done
dmesg -T | grep "Link is down" | grep $1 | awk -F "]" '{print $1}' | awk '{print $4}'| while read var2;
do
    echo -e "[$(date +%d-%m-%y)/$var2]\t$1\tDOWN" >> ~/interface_up_down.log
done

使用终端授予脚本可执行权限

chmod +x /path/to/save_interface_log.sh

运行脚本eth0

/path/to/save_interface_log.sh eth0

运行脚本时,它会将接口启动/关闭信息保存到所需格式的文件中,如下所示。我曾经使用过,eth0您可以修改任何其他接口。

[14-12-13/19:08:15]    eth0    DOWN
[14-12-13/19:08:28]    eth0    UP

相关内容