nodejs+mongodb通用备份还原搬家教程 express-ffmpeg搬家同样适用

 xiezixing @ 2019-01-17 16:48:56

很多朋友在询问我关于云转码express-ffmpeg备份和还原的事情,今天我就专门出个教程教大家怎么超级快速的搬家、mongodb的备份和还原。

第一步、迁移整站文件

迁移整站文件,本人推荐的做法就是适用Rsync命令行,不需要将文件下载到本地,再通过ftp上传到新的服务器,这样做的效率是最差的。
比如我的源码安装在旧服务器:ip:192.168.0.1,目录为/www/express-ffmpeg
新服务器:ip:192.168.0.2,目录同样为/www/express-ffmpeg
先直接用ROOT账号ssh登录到192.168.0.2服务器。

screen -S beifen
rsync -av root@192.168.0.1:/www/express-ffmpeg/* /www/express-ffmpeg

适用screen -S beifen的目的是开启一个长任务窗口,就算SSH中途中断,也不用担心,命令会继续运行直至完成。
就这样非常简单的两句命令行就可以将本身在192.168.0.1上面的网站文件全部迁移到新的服务器上边去。

第二步、备份还原mongodb数据

mogndob数据库的备份和还原说老实话,是我见过最简单的备份还原。
先ssh链接旧服务器192.168.0.1。

mongodump -h 127.0.0.1:27017  -u hls -p hls -d ​​database -o /root/beifen

-h是主机和端口 -d是选择要备份的数据库 -o 是选择备份文件的目录 -u是用户名 -p是密码。
最终备份的数据文件就在/root/beifen这个文件夹里边,文件夹中还有一个文件夹是以数据库命令的就是我们需要的备份文件。

将备份文件夹传输至新服务器192.168.0.2,利用ftp或者第一步我讲的rsync都可以办到这件事。例如我将database文件夹上传到了新服务器中的/ROOT/中,目录结构为/root/database,我们来一键还原。

mongorestore -h 127.0.0.1:27017 -d hls --drop /root/database

-h 主机和端口 -d 还原至数据库名 --drop 如果存在则先删除 ​/root/database备份的数据库文件。

至此,数据库和网站文件全部还原成功。两步就可以将nodejs+mongodb搭建的所有应用搬家完毕,非常方便,操作极其简单。这个搬家方法同样适用于express-ffmpeg。

最新回复:

xiezixing @ 8 个月前:

@天道酬勤:
上次看教程搬家成功了。。

但新问题来了。。。博主

我上次把ef放到了root目录下,结果导致不能用宝塔的rsync实时备份

今天脑袋一热把root下的ef目录rsync到了home目录下(想换个目录)删除了新ef目录下的node_modules,重新npm install,cms正常浏览,后台正常登陆,影片正常播放。。。但是现在不能上传电影出现以下错误
QQ图片20190127163111.png

我在宝塔成功上传了一步影片在movie目录,但是后台“扫描入库”点击无效,刷不出来新上传的影片。。。

博主能帮我看看是什么问题吗?怎么解决

应该是权限问题,具体情况不明无法帮你。

 天道酬勤 @ 2019-01-19 19:41:23

博主帮忙看一下我执行的是这个命令
screen -S beifen
rsync -av root@192.168.0.1:28303/express-ffmpeg/* /express-ffmpeg

但是提示一下错误,,不知道什么原因
ssh: connect to host XX.XX.XX.XX port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]

回复
 xiezixing @ 2019-01-19 20:16:10

@m733m2eg:
博主帮忙看一下我执行的是这个命令
screen -S beifen
rsync -av root@192.168.0.1:28303/express-ffmpeg/* /express-ffmpeg

但是提示一下错误,,不知道什么原因
ssh: connect to host XX.XX.XX.XX port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]

哦 必须是22端口 因为是使用的ssh协议哈 使用root账号

回复
 天道酬勤 @ 2019-01-19 20:33:32

@xiezixing:

@m733m2eg:
博主帮忙看一下我执行的是这个命令
screen -S beifen
rsync -av root@192.168.0.1:28303/express-ffmpeg/* /express-ffmpeg

但是提示一下错误,,不知道什么原因
ssh: connect to host XX.XX.XX.XX port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]

哦 必须是22端口 因为是使用的ssh协议哈 使用root账号

原来是这样啊,一会把端口修改一下。
还有个问题博主,2台机子的程序都一样,包括数据库都一样,我是不是要把数据搬到新机子上就可以了,要从你的第几步骤开始呢?

回复
 xiezixing @ 2019-01-19 20:51:36

@m733m2eg:

@xiezixing:

@m733m2eg:
博主帮忙看一下我执行的是这个命令
screen -S beifen
rsync -av root@192.168.0.1:28303/express-ffmpeg/* /express-ffmpeg

但是提示一下错误,,不知道什么原因
ssh: connect to host XX.XX.XX.XX port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]

哦 必须是22端口 因为是使用的ssh协议哈 使用root账号

原来是这样啊,一会把端口修改一下。
还有个问题博主,2台机子的程序都一样,包括数据库都一样,我是不是要把数据搬到新机子上就可以了,要从你的第几步骤开始呢?

对 你用rsync把/public/videos里边的内容同步过去同样的文件夹,就直接可以用了。

回复
 天道酬勤 @ 2019-01-19 20:54:38

@xiezixing:

@m733m2eg:

@xiezixing:

@m733m2eg:
博主帮忙看一下我执行的是这个命令
screen -S beifen
rsync -av root@192.168.0.1:28303/express-ffmpeg/* /express-ffmpeg

但是提示一下错误,,不知道什么原因
ssh: connect to host XX.XX.XX.XX port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]

哦 必须是22端口 因为是使用的ssh协议哈 使用root账号

原来是这样啊,一会把端口修改一下。
还有个问题博主,2台机子的程序都一样,包括数据库都一样,我是不是要把数据搬到新机子上就可以了,要从你的第几步骤开始呢?

对 你用rsync把/public/videos里边的内容同步过去同样的文件夹,就直接可以用了。

感谢,我这就去操作一下

回复
 天道酬勤 @ 2019-01-19 20:54:44

@xiezixing:

@m733m2eg:

@xiezixing:

@m733m2eg:
博主帮忙看一下我执行的是这个命令
screen -S beifen
rsync -av root@192.168.0.1:28303/express-ffmpeg/* /express-ffmpeg

但是提示一下错误,,不知道什么原因
ssh: connect to host XX.XX.XX.XX port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]

哦 必须是22端口 因为是使用的ssh协议哈 使用root账号

原来是这样啊,一会把端口修改一下。
还有个问题博主,2台机子的程序都一样,包括数据库都一样,我是不是要把数据搬到新机子上就可以了,要从你的第几步骤开始呢?

对 你用rsync把/public/videos里边的内容同步过去同样的文件夹,就直接可以用了。

感谢,我这就去操作一下

回复
 天道酬勤 @ 2019-01-20 15:19:03

感谢博主的帮助,今天搬家终于完成,虽然中间出了点小插曲但是也遇到了和博主一样热心肠的帮忙解决了问题。。。再次感谢二位

回复
 天道酬勤 @ 2019-01-27 16:40:24

上次看教程搬家成功了。。

但新问题来了。。。博主

我上次把ef放到了root目录下,结果导致不能用宝塔的rsync实时备份

今天脑袋一热把root下的ef目录rsync到了home目录下(想换个目录)删除了新ef目录下的node_modules,重新npm install,cms正常浏览,后台正常登陆,影片正常播放。。。但是现在不能上传电影出现以下错误
QQ图片20190127163111.png

我在宝塔成功上传了一步影片在movie目录,但是后台“扫描入库”点击无效,刷不出来新上传的影片。。。

博主能帮我看看是什么问题吗?怎么解决

回复
 xiezixing @ 2019-01-27 16:52:53

@天道酬勤:
上次看教程搬家成功了。。

但新问题来了。。。博主

我上次把ef放到了root目录下,结果导致不能用宝塔的rsync实时备份

今天脑袋一热把root下的ef目录rsync到了home目录下(想换个目录)删除了新ef目录下的node_modules,重新npm install,cms正常浏览,后台正常登陆,影片正常播放。。。但是现在不能上传电影出现以下错误
QQ图片20190127163111.png

我在宝塔成功上传了一步影片在movie目录,但是后台“扫描入库”点击无效,刷不出来新上传的影片。。。

博主能帮我看看是什么问题吗?怎么解决

应该是权限问题,具体情况不明无法帮你。

回复