侧边栏壁纸
  • 累计撰写 65 篇文章
  • 累计创建 80 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Vertex Docker 存储占用查看与种子缓存清理教程

Seger
2026-06-29 / 0 评论 / 0 点赞 / 0 阅读 / 2,084 字

Vertex Docker 存储占用查看与种子缓存清理教程

使用 Docker 部署 Vertex 后,运行时间久了可能会发现服务器磁盘占用越来越大。
其中比较常见的原因是 Vertex 的种子缓存目录 torrents 积累了大量 .torrent 文件。

本文记录如何查看 Vertex Docker 的存储占用、手动清理种子缓存目录,以及配置定时任务自动清理。


一、Vertex Docker Compose 示例

本文以如下 Docker Compose 部署方式为例:

services:
    vertex:
        container_name: vertex
        volumes:
            - ./vertex:/vertex
        ports:
            - 3000:3000
        environment:
            - TZ=Asia/Shanghai
        restart: unless-stopped
        image: lswl/vertex:stable

其中:

- ./vertex:/vertex

表示宿主机当前目录下的 ./vertex 文件夹,会映射到容器内的 /vertex 目录。

也就是说,Vertex 的数据实际保存在宿主机的:

/opt/docker/vertex/vertex

如果你的 docker-compose.yml 位于:

/opt/docker/vertex/docker-compose.yml

那么 Vertex 的实际数据目录就是:

/opt/docker/vertex/vertex

二、查看 Vertex 目录存储占用

进入 Vertex 的 Docker Compose 目录:

cd /opt/docker/vertex

查看 Vertex 总占用和一级目录占用:

du -h --max-depth=1 ./vertex | sort -h

示例输出:

20K     ./vertex/config
332K    ./vertex/data
18M     ./vertex/logs
132M    ./vertex/torrents
198M    ./vertex/db
347M    ./vertex

常见目录说明:

./vertex/config      Vertex 配置目录
./vertex/data        Vertex 数据目录
./vertex/logs        Vertex 日志目录
./vertex/torrents    Vertex 种子缓存目录
./vertex/db          Vertex 数据库目录
./vertex             Vertex 总占用

如果想看更详细的二级目录占用,可以执行:

du -h --max-depth=2 ./vertex | sort -h | tail -30

查看服务器整体磁盘占用:

df -h

查看 Docker 整体占用:

docker system df -v

三、确认种子缓存目录占用

Vertex 的种子缓存目录一般是:

./vertex/torrents

查看该目录占用:

du -h --max-depth=1 ./vertex/torrents | sort -h

统计 .torrent 文件数量:

find ./vertex/torrents -type f -name "*.torrent" | wc -l

统计 30 天以前的 .torrent 文件数量:

find ./vertex/torrents -type f -name "*.torrent" -mtime +30 | wc -l

如果这里数量特别多,例如几万、几十万个,就说明磁盘占用主要来自种子缓存。


四、手动删除 30 天以前的种子缓存

建议优先使用这种方式,只删除较早的缓存文件,比较稳妥。

进入目录:

cd /opt/docker/vertex

停止 Vertex 容器:

docker compose stop

查看 30 天以前的 .torrent 文件数量:

find ./vertex/torrents -type f -name "*.torrent" -mtime +30 | wc -l

删除 30 天以前的 .torrent 文件:

find ./vertex/torrents -type f -name "*.torrent" -mtime +30 -delete

清理空目录:

find ./vertex/torrents -type d -empty -delete

启动 Vertex 容器:

docker compose start

再次查看占用:

du -h --max-depth=1 ./vertex | sort -h

这个操作只删除 Vertex 缓存的种子文件,不会删除下载器里已经下载好的影视资源、文件或数据。


五、手动清空全部种子缓存

如果 ./vertex/torrents 占用非常大,并且确认不需要保留种子缓存,可以直接清空全部 .torrent 文件。

进入目录:

cd /opt/docker/vertex

停止容器:

docker compose stop

删除全部 .torrent 缓存文件:

find ./vertex/torrents -type f -name "*.torrent" -delete

清理空目录:

find ./vertex/torrents -type d -empty -delete

启动容器:

docker compose start

查看清理后的空间:

du -h --max-depth=1 ./vertex | sort -h

注意:
这个操作不会删除下载器里的真实下载内容,只会删除 Vertex 自己保存的 .torrent 缓存文件。


六、添加定时任务自动清理种子缓存

如果 Vertex 长期运行,建议配置定时任务,自动清理 30 天以前的种子缓存。

编辑当前用户的定时任务:

crontab -e

加入下面这一行:

0 4 * * 0 find /opt/docker/vertex/vertex/torrents -type f -name "*.torrent" -mtime +30 -delete && find /opt/docker/vertex/vertex/torrents -type d -empty -delete

含义:

0 4 * * 0

表示每周日凌晨 4 点执行一次。

后面的命令含义是:

删除 /opt/docker/vertex/vertex/torrents 目录下 30 天以前的 .torrent 文件,并清理空目录

保存退出后,定时任务会自动生效。


七、带日志的定时清理任务

如果希望后续能查看清理任务是否执行,可以使用带日志的版本。

执行:

crontab -e

添加:

0 4 * * 0 echo "===== $(date '+\%F \%T') Vertex torrents clean start =====" >> /var/log/vertex-torrents-clean.log 2>&1 && find /opt/docker/vertex/vertex/torrents -type f -name "*.torrent" -mtime +30 -delete >> /var/log/vertex-torrents-clean.log 2>&1 && find /opt/docker/vertex/vertex/torrents -type d -empty -delete >> /var/log/vertex-torrents-clean.log 2>&1 && echo "===== $(date '+\%F \%T') Vertex torrents clean done =====" >> /var/log/vertex-torrents-clean.log 2>&1

查看日志:

tail -50 /var/log/vertex-torrents-clean.log

如果想实时查看:

tail -f /var/log/vertex-torrents-clean.log

注意:
在 crontab 中使用 date 命令时,% 需要写成 \%,否则可能导致定时任务执行异常。


八、查看已经添加的定时任务

查看当前用户的定时任务:

crontab -l

如果看到类似内容:

0 4 * * 0 find /opt/docker/vertex/vertex/torrents -type f -name "*.torrent" -mtime +30 -delete && find /opt/docker/vertex/vertex/torrents -type d -empty -delete

说明定时任务已经添加成功。


九、删除 Vertex 自动清理定时任务

如果后续不想自动清理,可以执行:

crontab -e

找到这一行:

0 4 * * 0 find /opt/docker/vertex/vertex/torrents -type f -name "*.torrent" -mtime +30 -delete && find /opt/docker/vertex/vertex/torrents -type d -empty -delete

删除整行,保存退出即可。

如果添加的是带日志版本,也删除对应那一整行。


十、查看 cron 服务是否正常

Debian / Ubuntu 系统可以执行:

systemctl status cron

如果显示:

active (running)

说明 cron 服务正常运行。

如果没有运行,可以启动:

systemctl start cron

设置开机自启:

systemctl enable cron

十一、查看 cron 执行日志

Debian / Ubuntu 一般可以查看:

grep CRON /var/log/syslog | tail -50

如果系统没有 /var/log/syslog,可以使用:

journalctl -u cron --since "1 day ago"

也可以查看当前用户最近的 cron 日志:

journalctl | grep CRON | tail -50

十二、建议保留的常用命令

查看 Vertex 占用

cd /opt/docker/vertex
du -h --max-depth=1 ./vertex | sort -h

查看种子缓存数量

find ./vertex/torrents -type f -name "*.torrent" | wc -l

删除 30 天以前的种子缓存

find ./vertex/torrents -type f -name "*.torrent" -mtime +30 -delete
find ./vertex/torrents -type d -empty -delete

清空全部种子缓存

find ./vertex/torrents -type f -name "*.torrent" -delete
find ./vertex/torrents -type d -empty -delete

查看服务器磁盘空间

df -h

查看 Docker 占用

docker system df -v

十三、注意事项

  1. 删除的是 Vertex 的 .torrent 缓存文件,不是下载器里的真实下载资源。
  2. 如果不确定是否要全部删除,建议先删除 30 天以前的缓存。
  3. 清理前可以先执行 du -h --max-depth=1 ./vertex | sort -h,确认到底是哪一个目录占用大。
  4. 如果 ./vertex/db 占用大,可能是数据库或备份文件占用,需要单独分析,不建议直接删除整个 db 目录。
  5. 如果 ./vertex/logs 占用大,可以单独清理日志文件。
  6. 不建议直接删除整个 ./vertex 目录,否则可能导致 Vertex 配置、数据库、站点信息丢失。

十四、总结

Vertex Docker 长期运行后,./vertex/torrents 目录可能会积累大量 .torrent 种子缓存文件,导致服务器磁盘占用变大。

推荐处理方式:

先查看占用 → 确认 torrents 目录是否过大 → 删除 30 天以前的种子缓存 → 配置 crontab 定时清理

常用清理命令:

cd /opt/docker/vertex
find ./vertex/torrents -type f -name "*.torrent" -mtime +30 -delete
find ./vertex/torrents -type d -empty -delete

常用定时任务:

0 4 * * 0 find /opt/docker/vertex/vertex/torrents -type f -name "*.torrent" -mtime +30 -delete && find /opt/docker/vertex/vertex/torrents -type d -empty -delete

这样可以避免 Vertex 种子缓存长期堆积,占满服务器磁盘空间。

0

评论区