科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux操作系统的日志管理常用技巧介绍 (1)

Linux操作系统的日志管理常用技巧介绍 (1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

应用程序使用Syslog协议发送信息给Linux系统的日志文件(位于/var/log目录)。Sysklogd提供两个系统工具: 一个是系统日志记录, 另一个是内核信息捕获。

作者:korn 来源:赛迪网技术社区 2007年10月16日

关键字: 技巧 日志 操作系统 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

1. 使用Shell向Syslog日志文件写入信息

应用程序使用Syslog协议发送信息给Linux系统的日志文件(位于/var/log目录)。Sysklogd提供两个系统工具: 一个是系统日志记录, 另一个是内核信息捕获。通常大多程序都使用C语言或者Syslog应用程序或库来发送Syslog消息。

下面介绍如何使用sShell向Syslog日志文件写入信息:

(1). 使用Logger命令

Logger命令是一个Shell命令(接口)。你可以通过该接口使用Syslog的系统日志模块 你还可以从命令行直接向系统日志文件写入一行信息。

比如, 记录硬盘升级后的系统重启信息:

$ logger System rebooted for hard disk upgrade

然后你可以查看/var/log/message文件:

# tail -f /var/log/message

输出为:

Jan 26 20:53:31 dell6400 logger: System rebooted for hard disk upgrade

你也可以通过脚本程序来使用Logger命令。看下面的实例:

#!/bin/bash

HDBS="db1 db2 db3 db4"

BAK="/sout/email"

[ ! -d $BAK ] && mkdir -p $BAK || :

/bin/rm $BAK/*

NOW=$(date +"%d-%m-%Y")

ATTCH="/sout/backup.$NOW.tgz"

[ -f $ATTCH ] && /bin/rm $ATTCH || :

MTO="you@yourdomain.com"

for db in $HDBS

do

FILE="$BAK/$db.$NOW-$(date +"%T").gz"

mysqldump -u admin -p'password' $db | gzip -9> $FILE

done

tar -jcvf $ATTCH $BAK

mutt -s "DB $NOW" -a $ATTCH $MTO <     DBS $(date)

EOF

[ "$?" != "0" ] && logger "$0 - MySQL Backup failed" || :

如果MySQL数据库备份失败, 上面最后一行代码将会写入一条信息到/var/log/message文件。

(2). 其它用法

如果你需要记录/var/log/myapp.log文件中的信息, 可以使用:

$ logger -f /var/log/myapp.log

把消息发送到屏幕(标准错误), 如系统日志:

$ logger -s "Hard disk full"

你可以参考man参考页获得更多的选项信息:

man logger

man syslogd

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章