CentOS 下 PhpStorm 项目备份与恢复指南
一 备份策略与准备
- 明确备份范围:优先备份你的项目源码目录(含业务代码、依赖清单如 composer.json/composer.lock、数据库迁移脚本等),以及 PhpStorm 配置与插件(便于在新环境快速恢复开发体验)。
- 选择备份方式:按重要性选择全量打包、定时增量同步或实时同步到远程服务器,必要时组合使用。
- 准备存储与目录:在 CentOS 上创建专用备份目录(如 /backup),并确保有读写权限与足够的磁盘空间。
二 项目代码备份
- 全量打包归档(适合一次性快照)
- 创建备份目录并打包:
sudo mkdir -p /backup
tar -czvf /backup/backup_$(date +%Y%m%d_%H%M%S).tar.gz /path/to/PhpStormProjects/your_project
- 远程拷贝(可选):
scp /backup/backup_*.tar.gz user@remote:/backup/
- 恢复:
tar -xzvf /backup/backup_20251121_101010.tar.gz -C /path/to/restore
- 定时增量同步(适合日常备份)
- 安装 rsync(如未安装):
sudo yum install -y rsync
- 创建备份脚本 /backup/backup.sh:
#!/bin/bash
SOURCE_DIR="/path/to/PhpStormProjects/your_project"
BACKUP_DIR="/backup/your_project"
LOG_FILE="/backup/backup.log"
mkdir -p "$BACKUP_DIR"
rsync -avz --delete "$SOURCE_DIR/" "$BACKUP_DIR/" >> "$LOG_FILE" 2>&1
- 赋权并添加到 crontab(每天 02:00 执行):
chmod +x /backup/backup.sh
(crontab -l 2>/dev/null; echo "0 2 * * * /backup/backup.sh") | crontab -
- 实时自动同步到远程服务器(适合开发-测试/预发环境)
- 在 PhpStorm 打开:Tools → Deployment → Configuration,新增 SFTP 服务器,填写 Host/Port/User/Auth,设置 Root path 与 Mappings(本地项目路径 ↔ 远程部署路径)。
- 在 Tools → Deployment → Options 将 Upload changed files 设为 On explicit save action,或勾选 Automatic Upload,实现保存即同步。
- 建议先在远程目录做一次全量上传,再启用自动/保存时同步,避免遗漏历史文件。
三 备份 PhpStorm 配置与插件
- 关闭 PhpStorm 后备份配置目录(不同版本目录名不同):
# 查找配置目录
find ~ -type d -name ".PhpStorm*"
# 备份(示例版本号)
cp -R ~/.PhpStorm2024.3 ~/Documents/PhpStormBackup_2024.3
- 恢复时,将备份目录复制回用户主目录同名路径即可(注意版本匹配)。
四 恢复与验证
- 代码恢复:按“全量打包”或“增量同步”步骤解压/同步到目标路径,确认目录结构与关键文件(如 .idea、composer.json)完整。
- 运行依赖:进入项目目录执行安装(如适用):
cd /path/to/restore/your_project
composer install --optimize-autoloader --no-dev
- 配置恢复:将备份的 .PhpStorm* 目录复制回 ~/,启动 PhpStorm 检查 Settings/Preferences、Plugins、Keymap 是否生效。
- 远程同步校验:在 PhpStorm 打开 Tools → Deployment → Browse Remote Host,核对远程文件与本地一致性;如有自动/保存时上传,做一次小改动并保存验证同步是否触发。