原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用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
原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。