linux logger 日期形式,linux logger 使用!

这一段时间又仔细看了一遍shell脚本高级教程,发现有很多新的收获。

调试shell程序用下面的命令,把执行的过程全部显示出来,很有用的命令:

sh -x -v example.sh

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

[root@cnc-squid2 ~]# man logger

LOGGER(1)                                          BSD General Commands Manual                                          LOGGER(1)

NAME

logger - a shell command interface to the syslog(3) system log module

SYNOPSIS

logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [message ...]

DESCRIPTION

Logger makes entries in the system log. It provides a shell command interface to the syslog(3) system log module.

Options:

-i       Log the process id of the logger process with each line.

-s       Log the message to standard error, as well as the system log.

-f file Log the specified file.

-p pri   Enter the message with the specified priority. The priority may be specified numerically or as a ''facil-

ity.level'' pair. For example, ''-p local3.info'' logs the message(s) as informational level in the local3 facil-

ity. The default is ''user.notice.''

-t tag   Mark every line in the log with the specified tag.

-u sock Write to socket as specified with socket instead of builtin syslog routines.

-d       Use a datagram instead of a stream connection to this socket.

--       End the argument list. This is to allow the message to start with a hyphen (-).

message Write the message to log; if not specified, and the -f flag is not provided, standard input is logged.

The logger utility exits 0 on success, and >0 if an error occurs.

Valid facility names are: auth, authpriv (for security information of a sensitive nature), cron, daemon, ftp, kern, lpr,

mail, news, security (deprecated synonym for auth), syslog, user, uucp, and local0 to local7, inclusive.

Valid level names are): alert, crit, debug, emerg, err, error (deprecated synonym for err), info, notice, panic (deprecated

synonym for emerg), warning, warn (deprecated synonym for warning). For the priority order and intended purposes of these

levels, see syslog(3).

EXAMPLES

logger System rebooted

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值