GBase 8a
运维管理
文章
南大通用GBase 8a之自动清理日志实现方式
发表于2024-10-17 10:30:10602次浏览0个评论
自动清理日志
在GBase8a 运营维护过程中,经常会需要定期清理系统日志。可以参考在crontab中,按照以下方式配置脚本来实现。
crontab配置
可以参考设置每月1日执行脚本
脚本赋予gbase用户可执行权限:
chmod +x /opt/gbasetolls/cleanlogs.sh编辑gbase用户的crontab:
crontab -ecrontab配置样例:
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
评论
登录后才可以发表评论
热门帖子
- 12025-12-01浏览数:182764
- 22023-05-09浏览数:25062
- 42023-09-25浏览数:18526
- 52020-05-11浏览数:17529