在 Debian 上备份 PhpStorm 项目的实用方案
一 备份范围与准备
df -h二 方法一 手动打包与数据库导出(通用且可离线保存)
tar -czvf my_project_$(date +%F).tar.gz -C /var/www/html my_project
pg_dump):mysqldump -u 用户名 -p 数据库名 > my_project_$(date +%F).sql
cp /var/www/html/my_project/.env /backup/my_project_$(date +%F)/
cp /etc/nginx/sites-available/your-site /backup/my_project_$(date +%F)/ # Nginx 示例
# 或 Apache:cp /etc/apache2/sites-available/your-site.conf /backup/...
# 本地外置盘
cp my_project_*.tar.gz /mnt/backup/
# 远程服务器
scp my_project_$(date +%F).tar.gz user@remote:/backups/
# 或使用 rsync
rsync -avz my_project_$(date +%F).tar.gz user@remote:/backups/
三 方法二 使用 PhpStorm 的自动同步到远程服务器(SFTP/FTP)
四 自动化与定期保留策略
#!/usr/bin/env bash
set -e
PROJECT_PATH="/var/www/html/my_project"
BACKUP_PATH="/backup/phpstorm"
DATE=$(date +"%Y%m%d%H%M%S")
mkdir -p "$BACKUP_PATH"
# 1) 打包项目
tar -czvf "$BACKUP_PATH/project_$DATE.tar.gz" -C "$PROJECT_PATH" .
# 2) 导出数据库(MySQL 示例)
mysqldump -u 用户名 -p"密码" 数据库名 > "$BACKUP_PATH/db_$DATE.sql"
# 3) 可选:备份关键配置
cp "$PROJECT_PATH/.env" "$BACKUP_PATH/dotenv_$DATE"
# cp /etc/nginx/sites-available/your-site "$BACKUP_PATH/nginx-site_$DATE"
# 4) 保留最近 N 天(示例 7 天)
find "$BACKUP_PATH" -name "project_*.tar.gz" -mtime +7 -delete
find "$BACKUP_PATH" -name "db_*.sql" -mtime +7 -delete
# find "$BACKUP_PATH" -name "dotenv_*" -mtime +7 -delete
echo "Backup completed at $DATE"
crontab -e
# 添加
0 2 * * * /path/to/backup_script.sh >> /var/log/backup.log 2>&1
五 备份 PhpStorm IDE 配置与插件(迁移开发环境)
tar -czvf phpstorm_config_$(date +%F).tar.gz -C ~/.config/JetBrains PhpStorm2023.3