【linux日常】---mongdb日志切割

前提操作

导入包管理系统使用的公钥

从终端发出以下命令

以从https://www.mongodb.org/static/pgp/server-4.4.asc导入 MongoDB 公共 GPG 密钥:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

返回的应是ok

但是,如果您收到指示gnupg未安装的错误,您可以:

  1. gnupg使用以下命令安装及其所需的库:

    sudo apt-get install gnupg
    
  2. 安装后,重试导入密钥:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

为 MongoDB 创建一个列表文件。

/etc/apt/sources.list.d/mongodb-org-4.4.list为您的 Ubuntu 版本创建列表文件 。

单击适合您的 Ubuntu 版本的选项卡。如果您不确定主机运行的是哪个 Ubuntu 版本,请在主机上打开终端或 shell 并执行lsb_release -dc.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list


备用阿里云的源
echo "deb [ arch=amd64,arm64 ] http://mirrors.aliyun.com/mongodb/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

重新加载本地包数据库。

sudo apt-get update

安装 MongoDB 包。

sudo apt-get install -y mongodb-org=4.4.6 mongodb-org-server=4.4.6 mongodb-org-shell=4.4.6 mongodb-org-mongos=4.4.6 mongodb-org-tools=4.4.6


echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

启动实例

做日志切割

(先停服务)
systemctl stop mongodb
mongod -f /etc/mongod1.conf --shutdown

修改mongodb的配置文件

创建pid目录

添加相应的参数
(添加logrotate和指定pid文件的参数)
systemLog:
  destination: file
  logAppend: true
  logRotate: reopen
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 3717
  bindIp: 127.0.0.1


# how the process runs
processManagement:
#  timeZoneInfo: /usr/share/zoneinfo
  fork: true
  pidFilePath: /var/run/mongodb/pid/mongod.pid

修改logrotate配置

vim /etc/logrotate.d/mongos

/var/log/mongodb/mongod.log {
    rotate 1
    daily
    dateext
    size 2M
    postrotate
        /bin/kill -SIGUSR1 `cat /var/run/mongodb/pid/mongo.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

执行日志切割
/usr/sbin/logrotate -f /etc/logrotate.conf/mongos

启动服务

systemctl start mongodb
mongod -f /etc/mongodb1.conf --fork
##如果遇到问题直接tail日志文件找错误信息进行更改
posted @ 2023-11-27 22:29  Unfool  阅读(26)  评论(0)    收藏  举报