Drupal 网站备份通常包含网站文件与数据库两部分,建议使用计划任务定期进行备份。
备份整个网站
- 复制整个网站目录
- 将复制的网站目录进行打包压缩成为备份
熟悉命令行工具的话,可以使用以下命令进行备份
# 将站点复制到另一目录
cp -rp /path/to/drupal_site /path/to/backup_dir
# 将复制的目录打包压缩(可根据习惯压缩成其它格式,如 .tar.gz, .zip 或 .rar)
tar czf drupalbackup.tgz /path/to/drupal_site/
测试备份:完成备份后,进行解压和对比测试,确认整个网站目录都被正确打包。
以上备份方式适合大部分小站点,对于有技术背景的用户,网站可以拆分为源代码和用户文件两部分,源代码通过版本控制进行管理备份,用户文件单独备份或上云备份
备份数据库
使用熟悉的工具(如 PhpMyAdmin)、命令行(MySQLDump)或第三方模块(如 Backup and Migrate)将整个网站数据库进行备份和导出。
以下是使用 mysqldump 工具导出 MySQL 数据库的命令参考:
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
测试备份与恢复备份
如果备份的文件或者数据库不能用,那备份就没有意义了。因此备份完成之后应该对备份内容进行测试和检查,例如:
- 压缩的网站文件能否被解压
- 压缩的文件是否有丢失
- 导出的数据库能够被解压/导入
- 导出的数据库是否有遗漏数据库表
- 备份的网站和数据库能否顺利恢复网站
恢复文件或数据库时,可将原网站和数据库进行重命名,然后解压备份的网站到原网站,导入备份的数据库。
网站迁移
网站迁移与网站恢复基本相同,解压备份文件并导入备份的数据库即可。不同之处在于域名、网站目录、数据库信息会有变化,因此针对这些变化可能需要进行一些操作:
- 如域名产生变化,可能需要修改 .htaccess 文件,实现老域名到新域名的 URL 重定向(如果站点中都是使用相对链接,则可以不用修改)
- 如网站目录发生变化,注意将备份解压到对应的目录下
- 如数据库信息发生变化,需修改
sites/default/settings.php
配置文件中的数据库信息以便能够正确链接数据库
如果迁移过程中产生错误,可查阅 php 错误日志或网站后台状态、日志进行排查和处理。