首页主机资讯Ubuntu域名如何进行网站备份

Ubuntu域名如何进行网站备份

时间2025-11-29 03:06:03发布访客分类主机资讯浏览710
导读:Ubuntu 域名网站备份实操指南 一 核心思路与准备 备份对象通常包括:网站文件(如 /var/www/html 或 /var/www)、Web 服务配置(如 /etc/apache2 或 /etc/nginx)、以及数据库(MySQL...

Ubuntu 域名网站备份实操指南

一 核心思路与准备

  • 备份对象通常包括:网站文件(如 /var/www/html/var/www)、Web 服务配置(如 /etc/apache2/etc/nginx)、以及数据库(MySQL/MariaDBPostgreSQL)。先确认这些路径与数据库类型。
  • 建议遵循 3-2-1 备份原则:保留 3 个副本、使用 2 种不同介质、其中 1 份在异地。
  • 检查磁盘空间与目录大小,确保有足够空间:
    • 查看磁盘与目录:df -hdu -sh /var/wwwdu -sh /etc/apache2
    • 创建本地备份目录:sudo mkdir -p /var/web_backup
  • 如需远程/异地备份,准备一台备份服务器或对象存储,并规划保留周期与清理策略。

二 方案一 服务器侧打包备份与定时任务

  • 打包网站文件与配置(示例使用 tar + gzip):
    • 基本命令:sudo tar -cvpzf /var/web_backup/web-$(date +%F).tar.gz -C /var/www . -C /etc/apache2 .
    • 排除示例:sudo tar -cvpzf /var/web_backup/web-$(date +%F).tar.gz -C /var/www . -C /etc/apache2 . --exclude=html/example.com/junk --exclude=logs
    • 说明:-C 切换目录后使用相对路径;排除路径也用相对路径;-p 保留权限。
  • 数据库备份:
    • MySQL/MariaDB:
      • 单库:mysqldump -u USER -p'PASS' dbname | gzip > /var/web_backup/db-dbname-$(date +%F).sql.gz
      • 全部库:mysqldump -u root -p --all-databases | gzip > /var/web_backup/db-all-$(date +%F).sql.gz
    • PostgreSQL:
      • 全部库:sudo -u postgres pg_dumpall | gzip > /var/web_backup/pg-all-$(date +%F).sql.gz
  • 自动化(cron):
    • 每天 02:00 执行:0 2 * * * /usr/local/bin/backup_site.sh(脚本中需包含上述 tar 与 mysqldump/pg_dumpall 命令)
    • 保留策略:按日期命名,配合 find /var/web_backup -name "web-*.tar.gz" -mtime +30 -delete 清理 30 天前备份。

三 方案二 增量同步与异地备份

  • 使用 rsync 将备份目录增量同步到备份服务器(或另一块磁盘):
    • 命令:rsync -azP --delete /var/web_backup/ backupuser@backup.example.com:/backup/web/
    • 选项说明:-a 归档模式(保留权限/属主/时间)、-z 压缩传输、-P 显示进度并支持断点续传、--delete 使两端一致(谨慎使用,建议先 --dry-run 验证)。
  • 免密登录(SSH 密钥):
    • 在备份服务器生成密钥:ssh-keygen -t rsa -b 4096
    • 将公钥复制到 Web 服务器:ssh-copy-id webuser@yourdomain.com,之后 rsync/ssh 无需交互密码。
  • 结合方案一,形成“本地打包 + 远程 rsync 同步”的自动化流程,满足 3-2-1 的异地副本要求。

四 方案三 仅静态站点的镜像备份

  • 若网站为纯静态(HTML/CSS/JS/图片等),可用 wget 镜像整站到本地或备份机:
    • 命令:wget -p -np -r -k -e robots=off https://www.example.com/
    • 参数说明:-r 递归抓取、-np 不回溯父目录、-p 下载依赖资源、-k 转换链接为本地、-e robots=off 忽略 robots.txt(仅在合规与授权前提下使用)。

五 恢复与校验

  • 恢复网站文件与配置:
    • 解压:sudo tar -xvzpf /var/web_backup/web-2025-08-01.tar.gz -C /
    • 注意:-C / 会从根目录恢复,确保路径与打包时一致;恢复后检查目录权限与属主(如 www-data)。
  • 恢复数据库:
    • MySQL/MariaDB:gunzip < db-all-2025-08-01.sql.gz | mysql -u root -p
    • PostgreSQL:psql -U postgres -f pg-all-2025-08-01.sql
  • 验证:
    • 定期做恢复演练,抽样检查文件是否完整、数据库能否导入、站点能否正常访问;校验备份文件大小与数量是否符合预期。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu域名如何进行网站备份
本文地址: https://pptw.com/jishu/759791.html
Apache日志中的错误信息怎么处理 如何用JS监控Linux系统的资源使用情况

游客 回复需填写必要信息