温馨提示×

ubuntu php怎样备份数据

小樊
35
2026-09-19 13:03:46
栏目: 编程语言

在 Ubuntu 上备份 PHP 相关数据,通常包含网站程序文件数据库(如 MySQL/MariaDB)。下面按常见场景给你一套实用方案。


一、备份 PHP 网站文件

1. 确定网站目录

常见目录:

/var/www/html
/var/www/你的站点

2. 使用 tar 打包备份

sudo tar -czvf /backup/php_site_$(date +%F).tar.gz /var/www/html

查看备份:

ls -lh /backup

二、备份数据库(MySQL / MariaDB)

1. 备份单个数据库

mysqldump -u root -p 数据库名 > /backup/db_数据库名_$(date +%F).sql

2. 备份所有数据库

mysqldump -u root -p --all-databases > /backup/all_db_$(date +%F).sql

3. 压缩数据库备份

mysqldump -u root -p 数据库名 | gzip > /backup/db_数据库名_$(date +%F).sql.gz

三、一键备份脚本(推荐)

创建脚本:

sudo nano /usr/local/bin/backup_php.sh

内容示例:

#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup
WEB_DIR=/var/www/html
DB_USER=root
DB_PASS=你的密码
DB_NAME=你的数据库

mkdir -p $BACKUP_DIR

# 备份网站
tar -czf $BACKUP_DIR/site_$DATE.tar.gz $WEB_DIR

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

赋予执行权限:

sudo chmod +x /usr/local/bin/backup_php.sh

四、设置定时自动备份(crontab)

编辑定时任务:

crontab -e

每天凌晨 2 点备份:

0 2 * * * /usr/local/bin/backup_php.sh

五、恢复数据

恢复网站文件

sudo tar -xzvf /backup/site_2026-01-21.tar.gz -C /

恢复数据库

gunzip < /backup/db_2026-01-21.sql.gz | mysql -u root -p 数据库名

六、进阶建议

  • 备份到异地 / 云盘(rsync、rclone)
  • 保留最近 7 天备份,自动清理旧文件
  • 使用 php-fpm 时注意会话目录 /var/lib/php/sessions

如果你用的是 LNMP / 宝塔 / Docker / WordPress,可以告诉我,我可以给你更针对性的备份方案。

0