mongodb的日志清理学习整理

今天客户要求提供mongo的日志清理方案,客户提供了kill -SIGUSR1的方式,在此记录学习以及测试过程,以及其他几种日志清理方式。

方法1:在mongo的shell 里使用db.runCommand({logRotate:1})来进行日志的整理:

操作如下:

shard1:PRIMARY> use admin
switched to db admin
shard1:PRIMARY> db.runCommand({logRotate:1})
{ "ok" : 1 }

操作前后日志目录状态:

前:

[[email protected] log]# ll
total 600
-rw-rw-r-- 1 mongo mongo 156703 May 8 22:43 arbiter.log
-rw-rw-r-- 1 mongo mongo 446123 May 8 22:29 mongod.log

后:

[[email protected] log]# ll
total 604
-rw-rw-r-- 1 mongo mongo 156703 May 8 22:43 arbiter.log
-rw-r--r-- 1 root root 1114 May 8 22:44 mongod.log
-rw-rw-r-- 1 mongo mongo 446123 May 8 22:29 mongod.log.2018-05-08T14-44-56

执行命令后,复制出一份新的以时间命名的日志文件。

方法2:使用客户提供的命令kill -SIGUSR1的命令。

首先查询mongod 的进程号码:

[[email protected] log]# ps -ef|grep mongod
root 1335 1 1 22:15 ? 00:00:53 /usr/local/mongodb/bin/mongod -f /data/mongodb/conf/mongod.conf
root 1620 1416 0 23:09 pts/1 00:00:00 grep mongod

找到mongod的进程号码 1335,然后执行:

[[email protected] log]# kill -SIGUSR1 1335

前:

[[email protected] log]# ll
total 12
-rw-r--r-- 1 root root 1306 May 8 23:13 arbiter.log
-rwxr-xr-x 1 root root 356 May 8 23:08 clear-log.sh
-rw-r--r-- 1 root root 1540 May 8 23:23 mongod.log

后:

[[email protected] log]# ll
total 16
-rw-r--r-- 1 root root 1306 May 8 23:13 arbiter.log
-rwxr-xr-x 1 root root 356 May 8 23:08 clear-log.sh
-rw-r--r-- 1 root root 1301 May 8 23:30 mongod.log
-rw-r--r-- 1 root root 1540 May 8 23:23 mongod.log.2018-05-08T15-30-42

执行完命令kill -SIGUSR1 1335(进程号)后,生成了原日志mongod.log文件大小相同,以时间命名的新的日志文件。

方法3:使用命令killall -SIGUSR1 mongod

执行命令:[[email protected] log]# killall -SIGUSR1 mongod

前:

[[email protected] log]# ll
total 12
-rw-r--r-- 1 root root 1306 May 8 23:13 arbiter.log
-rwxr-xr-x 1 root root 356 May 8 23:08 clear-log.sh
-rw-r--r-- 1 root root 1301 May 8 23:30 mongod.log

后:

[[email protected] log]# ll
total 20
-rw-r--r-- 1 root root 1306 May 8 23:33 arbiter.log
-rw-r--r-- 1 root root 1306 May 8 23:13 arbiter.log.2018-05-08T15-33-49
-rwxr-xr-x 1 root root 356 May 8 23:08 clear-log.sh
-rw-r--r-- 1 root root 1301 May 8 23:33 mongod.log
-rw-r--r-- 1 root root 1301 May 8 23:30 mongod.log.2018-05-08T15-33-49

这个命令可以清理一台服务器上部署多个mongod的情况。

方法4:

CP,>,最原始的办法。
cp mongodb17.log mongodb17.log.bak.2013-05-21.10-40
> mongodb17.log

可根据实际需要去选择,对于mongo 数据库,个人推荐使用kill -SIGUSR1 这个命令,这个命令在redis上尝试使用,直接把redis的进程给杀死了。使用在mysql上,虽然进程没死,但是也和日志没关系。所以这个命令只适合mongo。

原文地址:https://www.cnblogs.com/feifeizouzou/p/9011824.html

时间: 2024-08-13 01:27:12

mongodb的日志清理学习整理的相关文章

mongodb日志清理

mongodb的日志相对其他数据库来说应该算是很大的,刚才由于报警,所以我查看啦一下,有15G的日志产生,下面是我的清理过程 出于对安全方面,我们服务器禁止使用rm命令,所以我在/home目录下创建啦一个mongolog文件夹 先查看一下日志大小和数量 #ls /opt/mongodb/log total 15G-rw-r--r--. 1 root root 6.6G Jul  2 17:10 mongodb.log-rw-r--r--. 1 root root 6.5K Oct 16  201

linux学习 整理(1)

ls目录文件 uname 现实当前系统信息 clear 清理 history 历史记录 ctrl + R 搜索历史记录 ESC按完之后按. 补齐上次参数 切换root用户 su - 使用管理员权限运行命令 sudo 现实当前用户信息 id 修改当前用户密码 passwd 命令 + & 在后台运行进程 jobs查看后台作业 ctrl + Z 暂停某个程序 bg 控制进程继续在后台运行 fg 控制进程在前台运行 ctrl + C 结束当前命令 linux学习 整理(1),布布扣,bubuko.com

Gnu Linux--Ubuntu系统清理项整理

/*********************************************************************  * Author  : Samson  * Date    : 07/11/2014  * Test platform:  *              3.11.0.11-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

MongoDB数据模型和索引学习总结

MongoDB数据模型和索引学习总结 1. MongoDB数据模型: MongoDB数据存储结构: MongoDB针对文档(大文件採用GridFS协议)採用BSON(binary json,採用二进制编码)数据格式来存储和交换数据.Bson吸收了JSON schema-less的特点,存储结构松散,不须要像RDB(关系数据)那样事先定义数据存储的元数据结构.另外添加了多种数据类型的支持和优化,使读写更加高效. (1) BSON 支持的数据类型: Double.String.Object.Arra

ijwmh1-2-以前学习整理出来的学习内容--什么是变量1整型变量

崧闱旭 ijwmh1-2-以前学习整理出来的学习内容--什么是变量1整型变量

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

文章转自:http://www.osyunwei.com/archives/8998.html 说明: 操作系统:CentOS Mongodb安装目录:/usr/local/mongodb Mongodb数据库存放目录:/home/data/mongodb/mongodb_data Mongodb日志存放目录:/home/data/mongodb/mongodb_log 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令

java中反射学习整理

转载请注明:http://blog.csdn.net/j903829182/article/details/38405735 反射主要是指程序可以访问,检测和修改它本身的状态或行为的一种能力. java中反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装载,无须在组件之间进行链接.反射允许在编写与执行时,使程序能够接入到jvm中的类的内部信息,而不是源代码中选定的类协作的代码.这使反射成为构建灵活应用代码的主要工具.需要注意的是,如果使用不当,反射的成本会很高. package

AJAX学习整理二之简单实例

做了几个简单的实例,加载txt文本内容.加载xml文件内容,把xml文本内容转换成html表格显示.废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <head>     <title>通过ajax获取文本内容</title>     <meta charset="utf-8">     <scr

java密码学学习整理--对称加密(着重描述3des)

1.对称加密要点 对称加密算法的核心是加密和解密操作使用同一套密钥.加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要.因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题. 2.des(参考自:http://baike.baidu.com/view/878529.htm?from_id=210508&type=syn&fromtitle=DES&fr=aladdin) DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位(每组的