扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1. 使用Shell向Syslog日志文件写入信息
应用程序使用Syslog协议发送信息给Linux系统的日志文件(位于/var/log目录)。Sysklogd提供两个系统工具: 一个是系统日志记录, 另一个是内核信息捕获。通常大多程序都使用C语言或者Syslog应用程序或库来发送Syslog消息。
下面介绍如何使用sShell向Syslog日志文件写入信息:
1). 使用Logger命令
Logger命令是一个Shell命令(接口)。你可以通过该接口使用Syslog的系统日志模块 你还可以从命令行直接向系统日志文件写入一行信息。
比如, 记录硬盘升级后的系统重启信息:
|
然后你可以查看/var/log/message文件:
|
输出为:
|
你也可以通过脚本程序来使用Logger命令。看下面的实例:
|
如果MySQL数据库备份失败, 上面最后一行代码将会写入一条信息到/var/log/message文件。
2). 其它用法
如果你需要记录/var/log/myapp.log文件中的信息, 可以使用:
|
把消息发送到屏幕(标准错误), 如系统日志:
|
你可以参考man参考页获得更多的选项信息:
|
2. 输出Iptables日志到一个指定的文件
Iptables的man参考页中提到: 我们可以使用Iptables在Linux内核中建立, 维护和检查IP包过滤规则表。几个不同的表可能已经创建, 每一个表包含了很多内嵌的链, 也可能包含用户自定义的链。
Iptables默认把日志信息输出到/var/log/messages文件。不过一些情况下你可能需要修改日志输出的位置。下面向大家介绍如何建立一个新的日志文件/var/log/iptables.log。通过修改或使用新的日志文件, 你可以创建更好的统计信息或者帮助你分析网络攻击信息。
1). Iptables默认的日志文件
例如, 如果你输入下面的命令, 屏幕将显示/var/log/messages文件中的Iptables日志信息:
|
输出:
|
2). 输出Iptables日志信息到一个指定文件的方法
打开你的/etc/syslog.conf文件:
|
在文件末尾加入下面一行信息:
|
保存和关闭文件。
重新启动Syslogd(如果你使用Debian/Ubuntu Linux):
|
另外, 使用下面命令重新启动Syslogd(如果你使用Red Hat/Cent OS/Fedora Core Linux):
|
现在确认你的Iptables使用了log-level 4参数(前面有一个log-prefix标志)。例如:
|
举一个例子, 丢弃和记录所有来自IP地址65.55.11.2的连接信息到/var/log/iptables.log文件。
|
命令解释:
- log-level 4: 记录的级别. 级别4为警告(warning)。
- log-prefix ‘*** TEXT ***’: 这里定义了在日志输出信息前加上TEXT前缀。TEXT信息最长可以是29个字符, 这样你就可以在记录文件中方便找到相关的信息。
现在你可以通过/var/log/iptables.log文件参考Iptables的所有信息:
|
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者