如何在Ubuntu 20.04 GNOME Shell顶部栏显示vnstat输出并追踪每日流量?
解决GNOME顶栏显示vnstat流量及每日追踪的方法
一、修正Argos脚本,实现格式化显示
Argos的输出规则是:第一行内容显示在顶栏,后续行作为下拉菜单内容。直接输出vnstat -t的原始文本会导致格式混乱,需要提取关键信息并格式化。
1. 编写优化后的Argos脚本
创建(或修改)~/.config/argos/vnstat.10s.sh脚本,内容如下:
#!/bin/bash INTERFACE="wlp2s0" # 替换成你的网卡名称,可通过`ip addr`查看 # 获取vnstat -t的最新流量数据,提取关键行 LATEST_TRAFFIC=$(vnstat -t -i $INTERFACE | grep -A1 "Time" | tail -1) # 提取下载和上传值 RX=$(echo $LATEST_TRAFFIC | awk '{print $2, $3}') TX=$(echo $LATEST_TRAFFIC | awk '{print $5, $6}') # 顶栏显示简洁信息 echo "🔽 $RX | 🔼 $TX" echo "---" # 分隔顶栏和下拉菜单 # 下拉显示详细的实时流量历史 echo "* 实时流量统计:" vnstat -t -i $INTERFACE | grep -v "^$" # 过滤空行 echo "---" # 下拉显示每日流量统计 echo "* 每日流量统计:" vnstat -d -i $INTERFACE | grep -v "^$"
2. 设置脚本权限
执行命令赋予脚本可执行权限:
chmod +x ~/.config/argos/vnstat.10s.sh
3. 效果说明
- 顶栏会显示当前最新的下载(🔽)和上传(🔼)流量值
- 点击顶栏图标,下拉菜单会展示完整的
vnstat -t实时历史,以及vnstat -d的每日流量统计数据
二、每日网络使用情况追踪补充
vnstat本身就是为流量统计设计的工具,默认会自动记录每日/每月的流量数据,你可以通过以下方式增强追踪:
1. 查看详细每日统计
直接在终端执行:
vnstat -d
会展示过去30天的每日下载、上传及总流量数据。
2. 导出每日统计数据到文件
如果需要长期保存统计结果,可以定时导出到文件,比如用crontab添加每日定时任务:
# 编辑crontab crontab -e # 添加以下内容,每天凌晨0点导出当日统计到指定文件 0 0 * * * vnstat -d >> ~/network_traffic_daily.log
3. 自定义vnstat配置
编辑/etc/vnstat.conf可以调整统计的网卡、数据保留时长等,比如修改MaxDays参数设置数据保留天数。
内容的提问来源于stack exchange,提问作者Sahan
相关产品推荐
相关产品推荐

