十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#切除本身日志内容并且自动生成新的以日期生成的历史文件 方法一: mongod -v --logpath /var/log/MongoDB/mongos.log 方法二: kill -SIGUSR1 {pid} 方法三: use admin db.runCommand("logRotate") #两种删除旧的日志文件,保留7天的日志文件 find /var/log/mongodb/mongos.log.* -mtime +7 -exec rm -rf {} \; find /var/log/mongodb/mongos.log.* -mtime +7 -delete 方法四: vim /etc/logrotate.d/mongodb /mongod/config.log { daily #每天 rotate 7 #轮转7天 compress #通过gzip压缩 missingok #如果日志不存在则忽略该警告 notifempty #如果是空文件则不转存 sharedscripts #只为整个日志组运行一次的脚本 copytruncate #用于还在打开中的日志文件,把当前日志备份并截断 dateext #使用日期作为命名格式 size 200M #当日志文件达到指定大小时就转存,可以指定K,M postrotate /bin/kill -SIGUSR1 'cat /mongod/mongod.lock 2>/dev/null' 2> /dev/null || true endscript #结束脚本 } #立即使上面的语句生效 logrotate mongodb #脚本实现自动切割日志 vim /root/cut_mongodb_log.sh #!/bin/bash datafile=/mongodb/mongodb_data logfile=/mongodb/mongodb_log days=7 /bin/kill -SIGUSR1 'cat $datafile/mongod.lock' find $logfile/ -mtime +$days -delete chmod +x /root/cut_mongodb_log.sh vim /etc/crontab 0 0 * * * /root/cut_mongodb_log.sh service crond restart chkconfig crond on