我是靠谱客的博主 坦率钢铁侠,这篇文章主要介绍centos7 自定义服务怎么进行日志重定向?,现在分享给大家,希望可以做个参考。

把centos6上的项目迁移到centos7上时,发现一个问题,原来在centos6上运行的程序,是忽略了所有日志输出的,在centos7上用同样的语法不生效了,所有日志都打印到/var/log/messages里去了,导致messages文件多出了很多不需要的日志信息,影响日常维护。

先来看看centos6上是怎么做的:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
......忽略...... mhr=/usr/bin/test start() { echo -n $"Starting $prog" PSRUNPID=`ps -ef|grep $mhr|grep -v grep|wc -l` if(test $PSRUNPID -lt 1) then $mhr 2>/dev/null 1>/dev/null & RETVAL=$? return $RETVAL else echo return 1 fi } .......忽略......

可以看到,centos6上是通过把日志输出重定向到/dev/null中来实现的。

那么在centos7上怎么做呢?是否也可以这么做?比如下面代码是否可以满足要求?

答案显然是否定的。

复制代码
1
2
[Service] ExecStart=/usr/bin/test 2>/dev/null 1>/dev/null

经过隔壁老王仔细研究发现,centos7 service文件可以帮我们做到。

复制代码
1
2
3
4
[Service] StandardOutput=null StandardError=null

如上图所示,可以通过对StandardOutput和StandardError赋值达到日志重定向的目的。

本服务需要忽略日志,所以把两者都赋值成了null。

可选值有:inheritnullttyjournalsyslogkmsgjournal+consolesyslog+consolekmsg+consolesocket 以及fd.

可以根据自己的需要进行不同的配置。默认情况下,StandardOutput和StandardError都是指向journal的,所以日志都输出到/var/log/messages里了。

最后

以上就是坦率钢铁侠最近收集整理的关于centos7 自定义服务怎么进行日志重定向?的全部内容,更多相关centos7内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部