ThinkPHP项目在Linux下的备份策略
小樊
47
2025-09-12 16:25:11
一、数据库备份
- 使用mysqldump工具
通过mysqldump -u 用户名 -p密码 数据库名 > 备份文件.sql命令备份数据库,可结合crontab设置定时任务(如每天凌晨2点执行),备份文件需存储在安全路径并定期清理过期文件。
- ThinkPHP命令行工具
执行php think db:backup生成备份文件,默认存放在runtime/db_backup目录,可通过配置修改路径。
二、文件备份
- 项目文件打包
使用tar -czvf 备份文件.tar.gz 项目目录命令压缩项目文件,可通过脚本自动备份到指定路径,结合cron实现定时备份。
- 配置文件备份
单独备份config/目录,避免敏感信息泄露,建议加密存储。
三、自动化与安全策略
- 定时任务(Cron)
通过crontab -e编辑定时任务,例如:
0 2 * * * /usr/bin/mysqldump -u root -p密码 数据库名 > /backup/db_$(date +\%F).sql。
- 权限管理
确保备份脚本有执行权限(chmod +x),备份文件存储目录设置仅授权用户可访问。
- 安全存储
敏感数据备份需加密,可通过gpg等工具加密备份文件,或存储至加密云存储。
- 恢复测试
定期验证备份文件可用性,通过mysql -u 用户名 -p密码 数据库名 < 备份文件.sql测试数据库恢复。
四、工具推荐
- Duplicati:支持本地/远程备份,图形化界面管理备份计划。
- Rsync:增量备份效率高,适合大文件同步。