项目文件备份
使用 tar
命令打包项目目录(如 /var/www/your_project
):
sudo tar -czvf project_backup.tar.gz /var/www/your_project --exclude=/var/www/your_project/runtime
排除 runtime
目录以避免临时文件干扰,备份文件存至安全路径(如 /backup
)。
数据库备份
通过 mysqldump
导出数据库(需替换为实际用户名、密码、数据库名):
mysqldump -u root -p'password' your_database > /backup/db_backup.sql
或使用 ThinkPHP 内置命令(需安装 tp5er/tp5-databackup
扩展):
php think backup --db --path=/backup
配置文件备份
单独备份配置目录(如 config/
):
tar -czvf config_backup.tar.gz /var/www/your_project/config
项目文件恢复
解压备份文件至原路径:
sudo tar -xzvf project_backup.tar.gz -C /var/www/
确保目录权限正确:
sudo chown -R apache:apache /var/www/your_project # 根据实际用户调整
sudo chmod -R 755 /var/www/your_project
数据库恢复
使用 mysql
导入备份的 SQL 文件:
mysql -u root -p'password' your_database < /backup/db_backup.sql
或通过 ThinkPHP 命令恢复(需提前配置数据库连接):
php think restore --db --file=/backup/db_backup.sql
配置文件恢复
解压配置备份文件并覆盖原目录:
sudo tar -xzvf config_backup.tar.gz -C /var/www/your_project/
www-data
或 apache
用户)。crontab
定期执行备份命令,例如每日凌晨备份数据库:0 2 * * * /usr/bin/mysqldump -u root -p'password' your_database > /backup/db_$(date +\%F).sql