花了一个周末,我写了个自动备份脚本
项目分享 8 次阅读

花了一个周末,我写了个自动备份脚本

# 个人项目 # 项目分享 # 原创

前阵子服务器硬盘坏了,幸好数据都有备份,不然后果真的不堪设想。

经历了这次,我觉得备份真的太重要了。花了一个周末,写了个自动备份脚本,分享给大家。

脚本能干啥?

备份脚本

功能其实很简单:

  • 自动打包指定的目录和文件
  • 自动备份MySQL数据库
  • 上传到阿里云OSS或者七牛云存储
  • 自动删除7天前的旧备份
  • 备份完成发邮件通知

虽然都是很基础的功能,但是够用了。对我这种个人博客和小项目来说,完全足够。

代码分享

脚本代码

核心部分其实就几十行代码:

#!/bin/bash

# 配置
BACKUP_DIR="/data/backup"
MYSQL_USER="root"
MYSQL_PASS="password"
OSS_BUCKET="my-backup"

# 打包文件
tar -zcf "$BACKUP_DIR/www_$(date +%Y%m%d).tar.gz" /www/wwwroot

# 备份数据库
mysqldump -u$MYSQL_USER -p$MYSQL_PASS --all-databases | 
    gzip > "$BACKUP_DIR/db_$(date +%Y%m%d).sql.gz"

# 上传到OSS
ossutil cp $BACKUP_DIR/*.tar.gz oss://$OSS_BUCKET/
ossutil cp $BACKUP_DIR/*.sql.gz oss://$OSS_BUCKET/

# 删除7天前的备份
find $BACKUP_DIR -type f -mtime +7 -delete

然后加个crontab每天凌晨3点执行,完事。

一点感想

备份这种东西,平时感觉没用,真到用的时候就是救命的。花点时间弄个自动备份,真的出事的时候你会感谢自己的。

而且最好是多地备份,本地一份,云端一份,这样才保险。


你们都有什么备份的好习惯?用的什么备份工具?评论区交流一下。

分享

评论 (0)

评论通过后显示

暂无评论,来写第一条吧 ✍️

0.043123s