## 需求
目前服务器的mysql、mongodb、redis等服务都已经搬家进了docker
需求是在宿主机上跑定时任务脚本,实现docker容器中的各个服务的备份、压缩
数据最终由宿主机统一处理。
## 实现
### MySQL
**backup_mysql.sh**
```shell
#!/bin/bash
# mysql 自动备份 压缩 保留15天
# 文件名
backupData
![](/api/file/getImage?fileId=5d5e604416199b2a52001a90)
## 简介
多数据源有很多好处,根据重要性区别备份,也可以区别分配资源等
网上查了很多例子都是针对`Repository`用法的mongodb多数据源
奈何我就喜欢用MongoTemplate
参考了以下这篇博客,自己实现了一下mongodb 多数据源 搭配多个MongoTempla
![蚂蚁笔记](/api/file/getImage?fileId=5d527c5016199b2a52000b07)
## 简介
蚂蚁笔记是一款非常非常非常好用的笔记软件,对程序员非常友好,每个功能点都很方便,采用golang & mongodb开发。核心功能除了**笔记**以外,也是个**博客**。他可以把指定笔记,1秒公开成博客,支持自定义主题样式,且自带评论。客户端支持windows 、 mac 、 linux 、 android 、ios等。
## 正文
先说明一下,正常的蚂蚁笔记用法,是去官方注册一个的账号,然后用官方客户端连官方服务器。
我这里折腾的是另一种玩法,通过官方公开的源码和教程,在自己的centos7的服务器上搭一套go+mongodb环境的蚂蚁笔记私人服务端,并且可以把生成的博客映射到我自己的域名。
客户端方面,登录界面都自带了一个**登录自建服务**入
![](/api/file/getImage?fileId=5d527c5016199b2a52000b05)
**本篇内容主要讲一下,我折腾自建蚂蚁笔记私有服务端的过程。基于centos7.4**。
## 准备
首先自己建服务端,得有一个基本款的云主机 + 一个域名 + https证书,如果不会golang没事,但最好学几句mongodb入门。在本文结尾我会贴出一下方便参考的链接。另外服务器最好再做一次nginx反向代理。
## 一、 基本安装
**所有安装过程都参考的官方教程,地址如下** [官方教程链接](https://github.com/leanote/leanote/wiki/Leanote-%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E8%AF%A6%E7%BB%86%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B----Mac-and-Linux)
### 1 下载 leanote 二进制版
**说明:由于下载地址不固定,如果在下载这一步失败,可以试试另一个下载方案,先在自己电脑,到http://leanote.org/#download 下载一个最新版,然后自己上传到服务器上,解压。**
```shell
# 新建文件夹 leanote
mkdir leanote
cd leanote
# 下载
wget https://nchc.dl.sourceforge.net/project/leanote-bin/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
# 解压
tar -xzvf leanote-linux-amd64-v2.6.1.bin.tar.gz
```
### 2 安装 mongodb
(本方法主要仅针对centos 7的yum方法,安装新版mongodb)
参考:[https://www.cnblogs.com/benjamin77/p/8465394.html](https://www.cnblogs.com/benjamin77/p/8465394.html)
```shell
# 新增3.4配置到仓库
vim /etc/yum.repos.d/mongodb-org-3.4.repo
#添加以下内容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
```
```shell
# yum安装
yum -y install mongodb-org
```
到这里就大功告成了,再补上常用命令
```shell
# 启动
systemctl start mongod.service
# 停止
systemctl stop mongod.service
# 状态
systemctl status mongod.service
# 进入mongodb
mongo
```
进入以后的基本操作可以参考mongo入门:[https://www.runoob.com/mongodb/](https://www.runoob.com/mongodb/)
```shell
# 例如常用命令
show dbs
use [databasename] # databasename填入上一步查出的数据库名称,例如use leanote
show collections
db.collection.find(); # collection填入上一步查到的collection名称,例如db.users.find();
```
个人感觉入门用法上和mysql的思路还是有很多相似