当前位置:首页 >  站长 >  数据库 >  正文

网站数据自动备份:一个脚本+一个计划任务搞定

 2026-08-25 18:06  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

网站备份是出事之后最后悔没做的东西。很多人服务器被黑后才发现数据库没备份,几年的内容一夜归零。其实一个shell脚本加一个定时任务就能解决。

下面这个脚本同时备份MySQL数据库和网站源码,按日期命名,保留最近7天。Linux服务器直接放到/root/backup.sh,Windows可以改成PowerShell版本,或者把Linux脚本放在宝塔面板的Shell终端里执行。

#!/bin/bash
SITE_DIR="/www/wwwroot/yoursite"
DB_NAME="yourdb"
DB_USER="root"
DB_PASS="yourpass"
BACKUP_DIR="/backup/$(date +%Y%m%d)"

mkdir -p $BACKUP_DIR

# 备份数据库
mysqldump -u$DB_USER -p$DB_PASS --single-transaction $DB_NAME | gzip > $BACKUP_DIR/db.sql.gz

# 备份网站文件
tar -czf $BACKUP_DIR/files.tar.gz -C $(dirname $SITE_DIR) $(basename $SITE_DIR)

# 删除7天前的备份
find /backup -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;

脚本写好之后加一条crontab,每天凌晨3点执行。备份文件建议再同步一份到对象存储,比如阿里云OSS或腾讯云COS,做到异地容灾。

# crontab -e

0 3 * * * /bin/bash /root/backup.sh >> /var/log/backup.log 2>&1

数据来源:MySQL Reference Manual 8.0(mysqldump),Linux crontab官方文档

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关标签
数据备份
mysql

相关文章

  • MySQL慢查询定位三板斧:慢日志+EXPLAIN+索引

    网站卡顿不一定是代码慢,很可能是数据库在硬扛。MySQL慢查询日志是最直接的突破口,先把执行时间长的SQL抓出来,再一条条用EXPLAIN看执行计划,最后加索引或者改写法。开启慢日志很简单,在my.cnf里加三行,重启MySQL即可。注意long_query_time单位是秒,线上可以先设1秒,抓到

    标签:
    mysql
    网站优化
  • ZStack与数腾完成产品兼容互认证

    近日,上海云轴信息科技有限公司与上海数腾软件科技股份有限公司完成产品兼容性测试。测试结果表明,数腾数据备份与恢复管理软件V6.0与ZStackCloud云平台完全兼容,整体运行流畅

  • MySQL5.7 集群配置的步骤

    这篇文章主要介绍了MySQL5.7集群配置的步骤,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下

    标签:
    mysql
  • MySQL中触发器和游标的介绍与使用

    这篇文章主要给大家介绍了关于MySQL中触发器和游标的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    标签:
    mysql
  • MySQL中exists、in及any的基本用法

    这篇文章主要给大家介绍了关于MySQL中exists、in及any的基本用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    标签:
    mysql

热门排行

信息推荐