海洋 CMS 网站数据如何完整备份
结论:海洋 CMS(SeaCMS)的完整备份 = 网站根目录的全部文件 + MySQL 数据库的全部数据表 + 数据库连接配置,三者缺一不可;只导出 .sql 或只打包网站目录,恢复时都会缺胳膊少腿。
海洋 CMS 完整备份要备份哪几部分?
结论:分三块——网站文件、数据库、配置信息,其中配置信息本身就存在网站文件里,所以实际操作就是「打包目录 + 导出数据库」两步。
网站文件里必须包含:程序核心目录、模板目录 templets/、上传目录 upload/(影片封面、截图、附件都在这)、后台目录 admin/、以及 data/ 目录(缓存和数据库配置都在这)。模板和 upload 目录一旦丢失,就算数据库导回来了,页面样式和图片也全没了。
数据库里存的是影片数据、文章、会员、管理员账号、采集规则、SEO 设置。海洋 CMS 默认表前缀是 sea_,如果你安装时改过前缀,导出和恢复时都要换成自己的前缀,否则会出现「导入成功但网站空白」。
数据库地址、用户名、密码、表前缀写在 data/common.inc.php 里(以你站点实际文件为准),恢复时这个文件要同步修改。
备份前要做哪些准备?
结论:先停写入、清缓存、查空间,再动手备份。
第一步,后台关闭站点或避开采集任务运行时段,防止备份到一半数据库还在写入。第二步,后台执行一次「更新缓存」,并删掉 data/ 下的缓存文件,压缩包体积会明显下降。第三步,用 df -h 查看剩余空间,需求是「网站目录体积 + 数据库体积 × 2」。第四步,把数据库名、用户名、密码、表前缀记在一个文本文件里,跟备份包放在一起——很多人恢复时卡住,就是忘了表前缀。
网站文件怎么打包备份?
结论:有 SSH 权限就用一条 tar 命令,没有就用 FTP 整目录下载。
cd /www/wwwroot
tar -czf sea_files_$(date +%Y%m%d).tar.gz 你的站点目录
用 FTP 下载时,必须打开客户端「显示隐藏文件」选项,否则 .htaccess 这类文件会被漏掉。
数据库怎么备份?
结论:优先用 mysqldump,导出结果比后台点按钮更可靠,也方便换服务器恢复。
mysqldump -uroot -p密码 --default-character-set=utf8mb4 --single-transaction --routines --triggers 数据库名 > sea_db_20250101.sql
gzip sea_db_20250101.sql
三个关键点:-p 和密码之间不能有空格,有空格会被解析成数据库名;--single-transaction 保证 InnoDB 表导出时的一致性,且不锁表;导出后立刻 gzip 压缩,纯文本 SQL 的压缩率能达到 80% 以上。
后台「系统」菜单里也有数据库备份功能,适合没有 SSH 的场景,但表多、数据量大时 PHP 执行超时会让导出断在半路,导完必须检查文件结尾是否完整。
备份文件放哪里才算安全?
结论:备份文件绝不能只留在网站目录里,至少存 3 份、放 2 个地方。
具体做法:一份下载到本地电脑或 NAS,一份放服务器上非 Web 目录(如 /home/backup/),一份传到对象存储(阿里云 OSS、腾讯云 COS)或网盘。原因很直白:网站被入侵时,攻击者第一件事就是删掉网站目录下所有备份文件。
怎么验证备份是完整的、能恢复?
结论:不验证的备份等于没有备份,必须做一次恢复演练。
检查项:tar -tzf 备份包 | head 能列出文件,说明压缩包没损坏;grep -c "CREATE TABLE" sea_db.sql 数出的建表语句数量,要和库里 show tables 的结果一致;SQL 文件最后一行要有导出结束标记。
演练流程:在本地或测试目录解压文件 → 新建一个空数据库 → 导入 sql → 修改 data/common.inc.php 里的数据库名、用户名、密码、表前缀 → 访问后台,能登录、首页能打开,就算恢复成功。
多久备份一次合适?
结论:数据库每天备份一次,网站文件每周备份一次,改模板、装插件、升级程序之前必须立即手动备份一次。
自动备份用 crontab:
0 3 * * * mysqldump -uroot -p密码 --single-transaction 数据库名 > /home/backup/sea_db_$(date +\%Y\%m\%d).sql
注意 crontab 里的 % 必须转义成 \%,否则任务不执行。
海洋 CMS 的完整备份就三件事:打包网站目录、导出全部数据表、记住数据库连接信息,然后异地存放、定期演练恢复。把这三步固化成计划任务,比出事后花几天找数据划算得多。
原文链接:https://www.gj0.com/thread-1095.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。