国外VPS容器运维:定时清理脚本实操指南
使用国外VPS部署容器时,常会遇到这样的麻烦:运行一段时间后,系统里堆着大量无用文件——容器日志越滚越厚、临时文件越攒越多、不再用的镜像占着空间,不仅把磁盘撑得满满当当,还可能拖慢系统速度,影响容器正常运行。手动清理费时费力,还容易漏删,这时候就需要给国外VPS配上定时清理脚本,用自动化运维解决这些头疼问题。
第一步:写个Docker清理脚本
以最常用的Docker容器为例,先做个清理脚本。新建一个叫`docker_cleanup.sh`的文件,用文本编辑器打开,输入这些命令:
#!/bin/bash
# 停止并删除所有已停止的容器(-f表示强制执行,无需手动确认)
docker container prune -f
# 删除所有悬空镜像(未被任何容器引用的镜像)
docker image prune -a -f
# 删除所有未被使用的卷(存储容器数据的独立空间)
docker volume prune -f
保存后,记得给脚本加执行权限,不然系统不让跑。在终端输入:
chmod +x docker_cleanup.sh
这一步很重要,漏了的话后续定时任务会报错。
第二步:用crontab设置定时任务
脚本写好后,得让它按时自动跑。这时候用Linux的crontab工具就行。打开终端输入:
crontab -e
会进入一个编辑界面,在里面添加一行任务。比如想每天凌晨2点自动清理,就写:
0 2 * * * /home/user/scripts/docker_cleanup.sh
这里的`/home/user/scripts/`要换成你实际存放脚本的路径。保存退出后,crontab会自动加载新任务。
第三步:验证脚本和任务
设置完别急着等第二天,先手动跑一遍脚本,看看有没有报错。在终端输入脚本路径:
/home/user/scripts/docker_cleanup.sh
如果没输出错误信息,说明脚本能正常执行。还可以查crontab列表确认任务是否添加成功,输入:
crontab -l
要是能看到刚添加的那行任务,就说明设置好了。
扩展:清理系统日志也能用脚本
除了Docker资源,系统日志也是占空间的大户。像`/var/log`目录下的各种日志文件,时间久了能堆成小山。可以再写个`log_cleanup.sh`脚本:
#!/bin/bash
# 查找/var/log目录下30天前的普通文件并删除
find /var/log -type f -mtime +30 -delete
同样给脚本加执行权限,再用crontab设置定时任务,比如每周日凌晨3点清理:
0 3 * * 0 /home/user/scripts/log_cleanup.sh
这样系统日志也能自动“断舍离”。
用国外VPS做容器部署,最怕的就是被冗余文件拖后腿。通过这几个定时清理脚本,容器日志、临时文件、过期镜像都能自动清理,磁盘空间始终保持充裕,系统运行更流畅,运维也不用再盯着时间手动操作。无论是Docker容器还是系统日志,自动化清理都能让国外VPS的运维效率上一个台阶。