项目文件备份
使用 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