
根据 vnStat 项目的变更日志,--dumpdb
参数在 1.12 版本之后改名为听起来比较有文化的 --exportdb
,但两者仍可以交替使用。然而来到 2.0 版本,--exportdb
的功能就被彻底放逐了。Ubuntu 20.04 里 apt 安装的 vnStat 版本是 2.6,而 Ubuntu 18.04 的则是比较老旧的 1.18 版本,所以探针能一直拖到今天才翻车。作者抛出的替代方案是使用 --oneline
,--json
或 --xml
参数,但它们的输出和原来 --exportdb
的完全不一样,并不能单靠直接改指令完事。
既然我们只是要每月上传和下传的流量,我们可以利用 --oneline b
参数的输出作些小修改:
def liuliang():
NET_IN = 0
NET_OUT = 0
vnstat=os.popen('vnstat --oneline b').readline()
mdata=vnstat.split(";")
NET_IN=int(mdata[8])
NET_OUT=int(mdata[9])
return NET_IN, NET_OUT
完美修复。

但更新系统的的坑应该是接二连三没错…