logger & journalctl,LINUX日志管理

简介:#

有时候写一些linux系统脚本,外加定时任务,总是希望能看到日志,所以就有了各种骚操作。

一:自己写#

自己写入指定日志,并进行容量管理。

复制代码
#日志文件
LOG_FILE=./log/log-$(date '+%Y-%m-%d').txt
path=./log

check_logs(){
    if [ ! -d $path ]; then
        mkdir $path
    fi
    find $path -type f  -mtime +30 | xargs rm -rvf
}

# 输出格式

arLog() {
    content="$(date '+%Y-%m-%d %H:%M:%S') $@"
    echo $content >> $LOG_FILE && echo -e  "\033[32m" ${content} "\033[0m"
}
复制代码

使用的时候:

check_logs
arLog "*******"

check_logs只要执行一次就行了,检查目录,删除30天以上的文件。

二:系统logger#

#日志标头设置
export log_header_name="CF_DDNS"
#日志输出格式设置
arLog() {
    echo "$@"
    logger $log_header_name:"$@"
}

这个也要设置,但是设置的就少了一些。不用自己管理了。

使用的时候直接使用:

logger -s "*********"

查询的时候:引号里面是仅显示 日志标头 为cf_ddns的。--since today,是只显示今天的,你也可以写yesterday,从昨天开始的。--no-page,是显示完整日志,免得过长截断不显示。

 journalctl --no-pager --since today -g 'cf_ddns'

常用就这一条,其他的自己去查journalctl吧。

三:journalctl常用#

# 显示尾部的最新10行日志

journalctl -n

 

# 显示尾部指定行数的日志

journalctl -n 15

 

# 实时滚动显示最新日志

journalctl -f

 

# 显示日志占据的硬盘空间

journalctl --disk-usage

 

# 指定日志文件占据的最大空间,默认为8M,可以设个1M,再改500M,就变相清理日志了。

journalctl --vacuum-size=1G

 

# 指定日志文件保存多久

journalctl --vacuum-time=1years

作者:上官飞鸿

出处:https://www.cnblogs.com/jackadam/p/18042953

版权:本作品采用「知识共享-署名-非商业性-禁止演绎(CC-BY-NC-ND)」许可协议进行许可。

posted @   上官飞鸿  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示