← 返回首页

用 Python 写了个自动备份脚本

2026-09-27 · 阅读 856

服务器上的数据越来越重要,手动备份太容易忘,写了个自动化的脚本。

需求

每天凌晨 2 点,把 /data 目录打包,上传到对象存储,保留最近 30 天,成功/失败都发邮件通知。

核心代码

import tarfile, datetime, os

DATA_DIR = "/data"
BACKUP_DIR = "/backup"

def make_backup():
    today = datetime.date.today().isoformat()
    fname = f"{BACKUP_DIR}/backup-{{today}}.tar.gz"
    with tarfile.open(fname, "w:gz") as tar:
        tar.add(DATA_DIR, arcname="data")
    return fname

定时任务

加到 crontab,每天凌晨执行:

0 2 * * * /usr/bin/python3 /opt/backup.py

跑了两个月了,很稳。