我在远程家里运行一个小型 RPi 服务器,并且我有一张数据使用量非常有限的 SIM 卡。我想要一个文件来逐月(例如,从该月 27 日开始)累计测量特定接口的数据消耗 (MB)。我尝试过不同的工具,例如sysstat
和vnstat
,sar
但我无法生成一个二进制文件,其中包含从 2 月 27 日到 3 月 26 日(即运营商开始覆盖我的网络)使用了多少 MB 的简单信息。流量套餐)。每个月该文件都应该被覆盖。我运行的是 Debian 11。
答案1
vnstat
应该能够为您提供您所需要的。您需要编写一些cron
拍摄上个月快照的作业。例如:
0 0 1 * * vnstat -m > /tmp/network_`date "+\%Y_\%m"`.log
该作业将在每月 1 号午夜运行,并将数据写入名为 的文件/tmp/network_<year>_<month>
,例如:/tmp/network_2021_11
。
如果由于某种原因vnstat
对您不起作用,答案是这问题显示了检查网络接口上总流量的各种方法。如果您愿意付出一些努力,您可以编写一些每月运行一次的脚本(再次使用cron
)来检查流量,然后从上个月的流量中减去该值并将增量保存在某处。当然,您还需要保存绝对总值,以便下个月可以进行相同的计算。