暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a MPP Cluster自动清理日志实现方式

原创 GBASE数据库 2024-11-07
203

原文链接:https://www.gbase.cn/community/post/4729
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

自动清理日志

在GBase8a 运营维护过程中,经常会需要定期清理系统日志。可以参考在crontab中,按照以下方式配置脚本来实现。

crontab配置

可以参考设置每月1日执行脚本

  • 脚本赋予gbase用户可执行权限:

    chmod +x /opt/gbasetolls/cleanlogs.sh
  • 编辑gbase用户的crontab: 

    crontab -e
  • crontab配置样例: 

     0 0 1 * *  sh /opt/gbasetolls/cleanlogs.sh
  • 检查crontab配置:  

    crontab -l

脚本说明

  • 参数ceiling为日志大小,可根据实际需要进行指定
  • 脚本运行时应确保gbase用户执行
  • 脚本清理内容为:集群层express日志,节点层expres 日志,集群层system日志 ,节点层system日志,gcware日志和 loader日志
  • loader log的清理规则是: 清理脚本运行当天之前的的日志目录及其内部文件,如需变更可修改 -mtime +N 中的N参数

脚本内容

########################################################################################
# script name : cleanlogs.sh
# author: zhaoqinggang
# create time: 2024-09-25
# specification: 清理集群日志脚本
# precondition:每个节点都部署在gbase用户的crontab
# run user: gbase
########################################################################################

ceiling=10000000000   #10GB

gc_log_home="$GCLUSTER_BASE/log/gcluster"
gn_log_home="$GBASE_BASE/log/gbase"
loader_log_home="$GCLUSTER_BASE/log/gcluster/loader_logs"
gcware_home="$GCWARE_BASE/log/"


c_gc_express()
{   doc="$gc_log_home/express.log"
   fsize=`stat -c %s $doc`
       if [ $fsize -gt $ceiling ];then
               echo "" > $doc
       fi
}

c_gn_express()
{
   doc="$gn_log_home/express.log"
       fsize=`stat -c %s $doc`
       if [ $fsize -gt $ceiling ];then
               echo "" > $doc
       fi
}


c_gc_system()
{   doc="$gc_log_home/system.log"
   fsize=`stat -c %s $doc`
       if [ $fsize -gt $ceiling ];then
               echo "" > $doc
       fi
}

c_gn_system()
{   doc="$gn_log_home/system.log"
   fsize=`stat -c %s $doc`
       if [ $fsize -gt $ceiling ];then
               echo "" > $doc
       fi
}

c_gcware()
{   doc="$gcware_home/gcware.log"
   fsize=`stat -c %s $doc`
       if [ $fsize -gt $ceiling ];then
               echo "" > $doc
       fi
}


c_gc_loader_log()
{
       #删除当天之前的
   cd $loader_log_home && find -type d -mtime +0 |grep -v "^.$" |xargs rm -rf

}


main()
{
       c_gc_express
       c_gn_express
       c_gc_system
       c_gn_system
       c_gcware
       c_gc_loader_log

}
main
 

原文链接:https://www.gbase.cn/community/post/4729
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论