温馨提示×

thinkphp项目在centos中如何备份恢复

小樊
55
2025-08-26 16:47:08
栏目: 编程语言

备份

  1. 项目文件备份
    使用 tar 命令打包项目目录(如 /var/www/your_project):

    sudo tar -czvf project_backup.tar.gz /var/www/your_project --exclude=/var/www/your_project/runtime 

    排除 runtime 目录以避免临时文件干扰,备份文件存至安全路径(如 /backup)。

  2. 数据库备份
    通过 mysqldump 导出数据库(需替换为实际用户名、密码、数据库名):

    mysqldump -u root -p'password' your_database > /backup/db_backup.sql 

    或使用 ThinkPHP 内置命令(需安装 tp5er/tp5-databackup 扩展):

    php think backup --db --path=/backup 
  3. 配置文件备份
    单独备份配置目录(如 config/):

    tar -czvf config_backup.tar.gz /var/www/your_project/config 

恢复

  1. 项目文件恢复
    解压备份文件至原路径:

    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 
  2. 数据库恢复
    使用 mysql 导入备份的 SQL 文件:

    mysql -u root -p'password' your_database < /backup/db_backup.sql 

    或通过 ThinkPHP 命令恢复(需提前配置数据库连接):

    php think restore --db --file=/backup/db_backup.sql 
  3. 配置文件恢复
    解压配置备份文件并覆盖原目录:

    sudo tar -xzvf config_backup.tar.gz -C /var/www/your_project/ 

注意事项

  • 权限问题:恢复后需确保项目目录和文件权限符合服务器要求(如 www-dataapache 用户)。
  • 路径一致性:备份/恢复时需保持目录结构一致,避免因路径错误导致文件加载失败。
  • 安全性:备份文件需存储在安全位置,敏感数据建议加密处理。
  • 自动化备份:可通过 crontab 定期执行备份命令,例如每日凌晨备份数据库:
    0 2 * * * /usr/bin/mysqldump -u root -p'password' your_database > /backup/db_$(date +\%F).sql 

0