前言

近期,在进行mongoDB的学习过程中,想要将对查询操作符以及管道操作符的学习过程文档给记录下来,并结合本地mongodb数据库进行对应的练手, 🤔 但每次都要自己去手动启动这个mongod服务,然后我就创建了自己的一个自定义脚本,可以一键启动mongod服务,并制定对应的配置(数据库位置、日志位置、授权等等)。
但是,我还想让这个脚本能够在我的macOS登录成功后,自动在后台执行,因此,这边将这个自动执行的自定义脚本设置过程给整理出来。

自定义脚本

创建一自定义脚本,并让自己本地环境变量指向到这个脚本所在的目录,使得可以在任何位置都可以一键执行。

1
whereis mongoDefault

找寻目标命令
从上面的截图,可以看出我的脚本的存储位置,该命令的内容如下:

1
2
#!/bin/bash
mongod --config /Users/zhenggl/Documents/mongodb/mongodb-7.0.5/conf/mongod.conf

环境配置

将这个脚本所在的目录添加到当前用户的环境变量中,如下所示

1
2
3
4
5
6
export MONGO_DB=/Users/zhenggl/Documents/mongodb
export PATH=$PATH:$MONGO_DB/mongodb-7.0.5/bin
export PATH=$PATH:$MONGO_DB/mongosh-2.1.1/bin

export MONGO_DB_TOOL=/Users/zhenggl/Documents/mongosh
export PATH=$PATH:$MONGO_DB_TOOL/bin

配置自动执行

借助于macOS自带的autoMate程序,可以用来创建自己的自定义服务,如下图所示
借助于automate

1、创建自定义脚本

选择待创建的应用类型

2、确定程序类型,并输入脚本

确定shell类型并录入执行的脚本程序

在上述的脚本录入处,输入自己的要执行程序代码,如下所示

1
/Users/zhenggl/Documents/mongodb/mongodb-7.0.5/bin/mongoDefault

💯 也就是简单地执行本地自定义脚本程序

3、保存自定执行程序服务,并设置开机执行该服务

配置自动执行的服务

4、重启机器,看是否成功了

自动启动的服务效果
:+1: 成功配置后,将会在状态栏这里多了一个旋转的图标,这里我是一个服务脚本,因此会一直在执行,可手动关闭!

踩坑

在配置的过程中,发现会提示mongod脚本命令没有找到,但是我们在登录后的用户终端中是可以正常运行该脚本的,这是因为自动启动的服务不会去拿当前登录用户的环境配置作为脚本程序执行环境,因此,我们需要简单将mongod脚本指定具体的位置!
调整后的脚本命令如下:

1
2
#!/bin/bash
/Users/zhenggl/Documents/mongodb/mongodb-7.0.5/bin/mongod --config /Users/zhenggl/Documents/mongodb/mongodb-7.0.5/conf/mongod.conf

:+1: 这里指定mongod脚本的具体地址!