网卡流量Shell并输出结果到/var/system/system.log文件下,格式为[日期] 网卡流量 :TX RX 其中TX后接输出流量,RX后接输入流量
时间: 2024-09-26 12:11:53 浏览: 39
Spark启动过程中遇到的错误 ./spark-shell –master spark://node001:7077
在Linux系统中,你可以使用`ifstat`或`ethtool`命令来监控网卡流量,并通过shell脚本来将结果输出到指定的系统日志文件中。这里提供一种使用`ethtool`命令的方式,因为`ifstat`并不直接支持按时间戳输出。
首先,创建一个shell脚本(例如:net_traffic.sh),内容如下:
```bash
#!/bin/bash
# 定义要监控的网卡名,例如eth0或enp0s3
NIC_NAME="eth0" # 需要替换为你实际的网卡名称
# 获取当前日期
DATE=$(date +%Y-%m-%d\ %H:%M:%S)
# 使用ethtool获取流量信息
TX_RX_OUTPUT=$(ethtool -i $NIC_NAME | grep "Speed" | awk '{print $2}')
# 将数据格式化并输出到日志文件
echo "[${DATE}] ${NIC_NAME} 流量 : TX ${TX_RX_OUTPUT#* } RX $(echo "$TX_RX_OUTPUT" | cut -d ' ' -f 2)" >> /var/log/system/system.log
# 显示在终端上
echo "[${DATE}] ${NIC_NAME} 流量 : TX ${TX_RX_OUTPUT#* } RX $(echo "$TX_RX_OUTPUT" | cut -d ' ' -f 2)"
```
然后给予脚本执行权限:
```bash
chmod +x net_traffic.sh
```
最后,定期运行该脚本,可以设置cron任务或其他定时工具。例如,每天凌晨1点运行一次:
```bash
crontab -e
添加一行:
0 1 * * * /path/to/net_traffic.sh
```
请注意,你需要将`NIC_NAME`替换为你实际的网卡名称,且确保`/var/log/system/system.log`路径存在且有适当的权限。
阅读全文