如何以以下格式[dd-mm-yy/hh:mm:ss]
将接口打开或关闭的时间写入文件中?我想要存储这样的数据:
[12-12-12/10:21:00] interface UP
[14-12-12/19:11:14] interface DOWN
答案1
可以使用dmesg
from 终端访问与接口相关的日志。但是,重新启动系统后,日志将不再可用。我为您提供了一个脚本,用于存储接口启动/关闭日志~/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