leanote搭建以及数据迁移

背景:

现有的蚂蚁笔记部署在机器xx.x.xxx.135上,之后这台机器不使用了,需要将蚂蚁笔记以及相关数据都迁移到另一台机器xx.x.xxx.55上


思路:

  1. 重新部署搭建新的leanote
  2. 从原机器上备份全部的数据,并在新机器上恢复数据

步骤:

1.安装数据库MongoDB

蚂蚁笔记使用的数据库就是MongoDB

(1)添加yum源

vi /etc/yum.repos.d/mongodb-org-4.0.repo

添加以下内容:

[mongodb-org-4.0]
name = MongoDB Repository
baseurl = https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck = 1
enabled = 1
gpgkey = https://www.mongodb.org/static/pgp/server-4.0.asc

退出保存

(2)使用yum安装相应版本MongoDB

yum install -y mongodb-org-4.0.9 mongodb-org-server-4.0.9 mongodb-org-shell-4.0.9 mongodb-org-mongos-4.0.9 mongodb-org-tools-4.0.9

2.下载蚂蚁笔记

从蚂蚁笔记官网下载相应的压缩包

leanote-linux-amd64-v2.6.1.bin.tar.gz

创建目录developer存放压缩包以及相应数据

cd /
#创建一个developer目录用于存放压缩包和数据,当然你也可以选择其他的目录结构
mkdir developer
cd developer
# 上传安装包至该目录下并创建等会需要使用的目录,mongodbdata用于存放数据库,log用于存放日志
mkdir mongodbdata
mkdir log
#解压该压缩包
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz

启动MongoDB数据库,并导入蚂蚁笔记初始化数据,蚂蚁笔记初始化数据存放在/developer/leanote/mongodb_backup/leanote_install_data

#后台运行,以守护进程的方式运行mongodb数据库,需要--fork #需要设置日志路径和自定义数据库路径--logpath和--dbpath#--fork has to be used with --logpath or --syslog

mongod --fork --logpath /developer/log/mongodb.log --dbpath /developer/mongodbdata 

#Leanote 初始数据存储在${PATH_TO_LEANOTE}/mongodb_backup/leanote_install_data
# 初始化才运行此行,再次重启时无需运行该行命令

mongorestore -h localhost -d leanote --dir /developer/leanote/mongodb_backup/leanote_install_data/

3.进入MongoDB数据库,为leanote数据库添加root用户

# 进入MongoDB
mongo

# 切换到leanote数据库
use leanote;

# 添加root用户
db.createUser(
  {
    user: "root",
    pwd: "xxxx",
    roles: [ { role: "dbOwner", db: "leanote" } ]
  }

修改蚂蚁笔记相应配置表/developer/leanote/conf/app.conf

4.启动蚂蚁笔记

#后台运行脚本,设置日志路径为/developer/log/leanote.log
nohup bash /developer/leanote/bin/run.sh >/developer/log/leanote.log 2>&1 &

5.测试与修改管理员admin密码

在地址栏输入http://${centos ip}:8098,即可看到以下页面。

蚂蚁笔记默认管理员账号和密码为 admin abc123。为了安全,应该第一时间修改管理员密码,具体操作:管理员账号登录后,个人中心直接修改密码

6.数据迁移与恢复

(1)在原机器上备份leanote数据

mongodump --port 27017 --db leanote -o /data/leanoteBackUp/

(2)使用scp命令将备份数据拷贝到新机器上

scp -r leanoteBackUp root@xx.x.xxx.xx:/developer/data

(3)回去新机器上,先关闭leanote服务,直接杀进程

(4)恢复备份数据

mongorestore -h 127.0.0.1:27017 -d leanote /developer/data/leanoteBackUp/leanote -u=root -p=xxxx

(5)重新启动leanote服务

nohup bash /developer/leanote/bin/run.sh >/developer/log/leanote.log 2>&1 &

(6)到此蚂蚁笔记数据迁移恢复完毕,但是在新的机器上登录蚂蚁笔记时,发现有很多图片没有显示,原因在于图片信息存放在leanote下的files目录下,所以还需要将files目录备份。具体操作方法:直接将原机器中的files目录拷贝到新机器中即可。

7.leanote开机自启动设置

(1)切换到以下目录

cd  /etc/rc.d/init.d

(2)创建 leanote的一个自启动脚本

#!/bin/bash
# chkconfig: 2345 80 90
#description:leanote.sh
cd /developer/leanote/bin/
bash run.sh

(3)设置脚本权限

chmod 754 leanote.sh

(4)服务脚本加入到系统启动队列

chkconfig --add leanote.sh  
chkconfig leanote.sh on

8.设置MongoDB开启启动

在/etc/rc.local添加以下脚本

# add mongodb service
mongod --fork --logpath /developer/log/mongodb.log --dbpath /developer/mongodbdata

9.定时备份蚂蚁笔记数据,并将备份数据发送到另一台机器存储

编写备份脚本

DUMP=/usr/bin/mongodump             # mongodump备份文件执行路径
OUT_DIR=/data/backupLeanoteMongodb    # 临时备份目录
TAR_DIR=/data/backupLeanoteMongodb   # 备份存放路径
DATE=`date -d "today" +"%Y-%m-%d-%H-%M-%S"`         # 获取当前系统时间,作为文件名的一部分
DAYS=7
TAR_BAK="leanote_mongodb_bak_$DATE.tar.gz"                 # 最终保存的数据库备份文件名
cd $OUT_DIR
rm -rf $OUT_DIR/
mkdir -p $OUT_DIR/$DATE
mkdir -p $TAR_DIR/
$DUMP -d leanote -o $OUT_DIR/$DATE                             # 备份leanote数据库
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE                      # 压缩为.tar.gz格式
#find $TAR_DIR/ -mtime +$DAYS -delete                # 删除7天前的备份文件
sshpass -p xxxx scp $TAR_DIR/$TAR_BAK  root@xxx.xx.xxx.xx:$TAR_DIR  # 通过 scp 发送至另一台服务器

将定时任务执行脚本写入/var/spool/cron/root

30 0-23/12  * * * bash /developer/leanote_bak.sh

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值