## BookCMS如何搬家此教程适用于商业版和站群版
### 1、首先登录ssh 备份`mongodb`数据库 备份前请确保你的备份目录有足够大的空间例如进入 `cd /www/` 目录
运行 `mongodump -h 127.0.0.1:27017 -d bookcms -o bookcms_db`
`-h` 参数是备份本地mongodb 数据库
`-d` 参数是所需要备份的数据库名称
`-o` 参数是备份到 `bookcms_db` 这个目录 也就是完整的 `/www/bookcms_db` 目录下面
备份完成如下图

然后运行命令 `tar cvzf - bookcms_db | split -d -b 8192m - bookcms_db.tar.gz` 这句话表示压缩 `bookcms_db` 这个文件夹 成 tar.gz 格式 并且 以每个 `8GB` 的大小的压缩包分卷,打包完成后如下图

然后用宝塔后台文件管理移动到你的网站`web`访问目录下载 或者 用 `mv` 命令移动都可以 总之下载到本地就可以
### 2、然后备份 `mysql` 数据库 进入宝塔数据库管理选择 `bookcms` 的数据库点击 管理

`book_task_log` 日志表没什么用 可以点击 清空按钮 减小 sql 的大小

然后点击 `导出 -> 执行` 按钮会提示保存 `sql` 文件,下载刚才的sql文件保存好

### 3、压缩 `BookCMS` 文件夹 执行命令 `cd /www` 进入 `www` 文件夹
然后执行 `tar cvzf - BookCMS | split -d -b 8192m - BookCMS.tar.gz`
这句话 和上面压缩命令一样无需过多解释 ,如果 `data/txt` 下的 文件很大很多 后面在出其他搬家教程 打包完成后如果有多个tar.gz的压缩包则需要都选中 移动到 网站web目录 然后通过http 下载 如果不下载请修改权限为 `www` 用户

### 4、在新的服务器上还原 `mongodb` 数据库
登陆新的 服务器 进入 `cd /www` 目录 运行 `wget http://www.xxx.com/bookcms_db.tar.gz00` 命令下载,如果有多个压缩包则需要都下载到新的机器上 如下图

然后等待所有压缩包下载完毕 执行 `cat bookcms_db.tar.gz00* | tar zxv` 命令 来解压 `mongodb` 数据库压缩包

解压完成后 运行 命令 `cd bookcms_db` 然后执行命令 `mongorestore -h 127.0.0.1:27017 -d bookcms ./bookcms` 还原 `mongodb` 数据库 这句话意思就是 还原 ./bookcms 目录的数据 到 `bookcms` 数据库 如果期间不出其他情况就可以顺利完成数据库还原数据库越大时间越长等待即可

### 5、在新的服务器上还原 `mysql` 先新建个 `bookcms` 的mysql数据库 选中刚才下载的 `mysql` 上传执行

### 6、在新的服务器上还原 `BookCMS` 后台
运行命令 `cd /www` 来进入目录 执行 `wget http://www.xxx.com/BookCMS.tar.gz00` 下载BookCMS后台 多个压缩包请挨个下载 然后执行命令 `cat BookCMS.tar.gz00* | tar zxv` 来解压,然后修改`mysql` 链接密码 和授权 既可 启动方式按照部署方式 执行命令既可无需重复 执行命令 `chown www:www -R BookCMS` 修改文件夹 为www 用户组文件多等待时间长


## 2、 MongoDb 数据库备份方式二 推荐
下面命令是备份命令
`--db bookcms` 是备份 bookcms数据库 `--archive=./bookcms_db.archive` 是当前路径下的 保存的文件名
```
mongodump -h 127.0.0.1:27017 --db bookcms --gzip --archive=./bookcms_db.archive
```
下面命令是还原命令 请将备份的数据库 解压在新服务器上执行刚才备份的 `--db bookcms` 还原回去的时候也是这个名字请确认你mongodb 上没有这个数据库 `--drop` 参数则会删除之前的数据库 在重新导入备份
```
mongorestore -h 127.0.0.1:27017 --gzip --archive=./bookcms_db.archive
```