怎么统计服务器一天跑了多少G?

要统计服务器一天内传输了多少 GB 的数据流量(即“跑了多少G”),通常指的是网络流量的进出总量。你可以通过以下几种方法来实现:


一、使用系统自带工具(适用于 Linux 服务器)

1. 使用 vnstat(推荐)

vnstat 是一个轻量级的网络流量监控工具,可以按天、小时、月统计流量。

安装:

# Ubuntu/Debian
sudo apt install vnstat

# CentOS/RHEL
sudo yum install vnstat
# 或者使用 dnf(较新版本)
sudo dnf install vnstat

初始化监控网卡(如 eth0 或 ens33):

sudo vnstat -u -i eth0
sudo systemctl enable vnstat
sudo systemctl start vnstat

查看每日流量:

vnstat -d

输出示例:

eth0 / daily

        day        rx      |     tx      |    total
    ------------------------+-------------+----------
      2024-04-01   1.21 GiB |    3.45 GiB |    4.66 GiB
      2024-04-02   2.10 GiB |    5.20 GiB |    7.30 GiB

✅ 优点:自动记录历史数据,断电也不丢数据。


2. 使用 iftopnethogs(实时监控,不能统计全天)

这些工具用于实时查看流量,但无法自动统计一天的总量。

iftop -i eth0
nethogs eth0

3. 使用 /proc/net/dev 手动计算

Linux 系统中网络接口的收发数据保存在 /proc/net/dev

cat /proc/net/dev

输出类似:

face |bytes    packets|  bytes    packets
  eth0: 123456789 123456  987654321 987654
  • 第一个数字是接收(rx)字节数
  • 第三个数字是发送(tx)字节数

你可以写个脚本每天定时记录这些值,然后计算差值。

示例脚本(记录每日流量):

#!/bin/bash
LOGFILE="/var/log/network_usage.log"
INTERFACE="eth0"

# 提取字节数
RX=$(cat /proc/net/dev | grep $INTERFACE | awk '{print $2}')
TX=$(cat /proc/net/dev | grep $INTERFACE | awk '{print $10}')

DATE=$(date +"%Y-%m-%d %H:%M:%S")

echo "$DATE,$INTERFACE,$RX,$TX" >> $LOGFILE

配合 cron 每天执行一次,然后通过计算首尾差值得出一天总流量。


二、使用监控系统(长期推荐)

1. Zabbix / Prometheus + Grafana

可以长期监控服务器网络流量,图形化展示每天的使用情况。

  • Prometheus 配合 Node Exporter 可采集网络指标。
  • Grafana 可按天统计 rx/tx 流量并求和。

2. NetData

一键安装,实时监控,自带每日流量统计图表。

# 安装 NetData
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

访问 http://服务器IP:19999 查看流量图表。


三、云服务器厂商自带监控(如阿里云、腾讯云、AWS)

如果你使用的是云服务器(如阿里云 ECS、腾讯云 CVM、AWS EC2),可以直接在控制台查看:

  • 网络出带宽 / 入带宽
  • 按天统计的流量(GB)
  • 有些平台直接提供“每日流量消耗”报表

👉 例如:

  • 阿里云:云监控 → 网络流量监控
  • 腾讯云:云服务器 → 监控 → 网络出/入流量
  • AWS:CloudWatch → NetworkIn / NetworkOut

四、计算公式

一天总流量(GB) = (接收总字节数 + 发送总字节数) / (1024³)

例如:

  • 接收:5,368,709,120 字节 ≈ 5 GB
  • 发送:4,294,967,296 字节 ≈ 4 GB
  • 总计:约 9 GB

总结:推荐方案

需求 推荐方法
快速查看每日流量 vnstat
实时监控 iftop / nethogs
长期自动化统计 vnstat + cron 或 Prometheus + Grafana
云服务器用户 直接使用云平台监控

如果你告诉我你的服务器系统(如 Ubuntu/CentOS)和是否是云服务器,我可以给出更具体的命令。