Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

说明:

操作系统:CentOS

Mongodb安装目录:/usr/local/mongodb

Mongodb数据库存放目录:/home/data/mongodb/mongodb_data

Mongodb日志存放目录:/home/data/mongodb/mongodb_log

实现目的:

对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录。

具体操作:

使用Mongodb数据库自带的命令来切割日志

ps -ef | grep mongod

kill -SIGUSR1 <mongod process id>

1、创建Mongodb数据库日志切割脚本

vi /home/crontab/cut_mongodb_log.sh #编辑

#!/bin/sh

datafile=/home/data/mongodb/mongodb_data #Mongodb数据库存放目录

logfile=/home/data/mongodb/mongodb_log #Mongodb日志存放目录

days=7 #代表删除7天前的备份,即只保留最近7天的备份

/bin/kill -SIGUSR1 `cat $datafile/mongod.lock` #切割日志

find $logfile/ -mtime +$days -delete #删除7天前的备份文件

:wq! #保存退出

chmod +x   /home/crontab/cut_mongodb_log.sh  #添加执行权限

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

2、添加任务计划,修改/etc/crontab

vi /etc/crontab #在最后一行添加

0 0 * * * /home/crontab/cut_mongodb_log.sh  #表示每天凌晨执行备份

:wq! #保存退出

3、重新启动crond使设置生效

/etc/rc.d/init.d/crond restart  #yum install -y vixie-cron安装计划任务,某些系统上可能没有预装

chkconfig crond on #设为开机启动

service crond start #启动

每天会在/home/data/mongodb/mongodb_log目录下生成类似mongodb.log.2015-02-28T06-33-20的日志记录

并且只保留最近7天的日志记录。

至此,Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Linux环境下安装并监控MongoDB数据库的详细步骤: 1. 下载mongodb_exporter二进制文件 在官方GitHub仓库下载mongodb_exporter二进制文件,如: ``` $ wget https://github.com/percona/mongodb_exporter/releases/download/v0.20.3/mongodb_exporter-0.20.3.linux-amd64.tar.gz ``` 2. 解压文件 解压刚刚下载的文件,如: ``` $ tar -zxvf mongodb_exporter-0.20.3.linux-amd64.tar.gz ``` 3. 复制文件 将解压后的文件复制到/usr/local/bin目录下,如: ``` $ sudo cp mongodb_exporter-0.20.3.linux-amd64/mongodb_exporter /usr/local/bin/ ``` 4. 创建mongodb_exporter用户 为了安全起见,我们创建一个新用户来运行mongodb_exporter,如: ``` $ sudo useradd --no-create-home --shell /bin/false mongodb_exporter ``` 5. 更改mongodb_exporter二进制文件的权限 为了让mongodb_exporter用户可以执行mongodb_exporter二进制文件,我们需要更改文件的权限,如: ``` $ sudo chown mongodb_exporter:mongodb_exporter /usr/local/bin/mongodb_exporter ``` 6. 创建systemd服务 我们需要创建一个systemd服务来管理mongodb_exporter的运行,如: ``` $ sudo vi /etc/systemd/system/mongodb_exporter.service ``` 在文件添加以下内容: ``` [Unit] Description=MongoDB Exporter Wants=network-online.target After=network-online.target [Service] User=mongodb_exporter Group=mongodb_exporter Type=simple ExecStart=/usr/local/bin/mongodb_exporter --web.listen-address=:9001 --mongodb.uri=mongodb://localhost:27017/ Restart=always [Install] WantedBy=multi-user.target ``` 其,`--web.listen-address`参数指定mongodb_exporter的监听地址和端口,`--mongodb.uri`参数指定了要连接的MongoDB数据库的地址和端口。 7. 启动mongodb_exporter服务 启动mongodb_exporter服务并将其设置为开机自启,如: ``` $ sudo systemctl daemon-reload $ sudo systemctl start mongodb_exporter $ sudo systemctl enable mongodb_exporter ``` 8. 配置Prometheus 将mongodb_exporter作为Prometheus的一个targets,如: ``` scrape_configs: - job_name: 'mongodb_exporter' metrics_path: '/metrics' static_configs: - targets: ['localhost:9001'] ``` 9. 启动Prometheus 启动Prometheus并访问其web界面,如: ``` $ prometheus --config.file=prometheus.yml ``` 访问http://localhost:9090/graph,就可以看到mongodb_exporter的监控指标了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值