操作系统日志管理的技巧介绍计划
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/bashHDBS=\"db1 db2 db3 db4\"BAK=\"/sout/email\"[ ! -d $BAK ] mkdir -p $BAK || :/bin/rm $BAK/*NOW=$(date +\"%d-%m-%Y\")ATTCH=\"/sout/backup.$z\"[ -f $ATTCH ] /bin/rm $ATTCH || :MTO=\"you@\"for db in $HDBSdo FILE=\"$BAK/$db.$NOW-$(date +\"%T\").gz\" mysqldump -u admin -p\'password\' $db | gzip -9 $FILEdonetar -jcvf $ATTCH $BAK mutt -s \"DB $NOW\" -a $ATTCH $MTO EOFDBS $(date)EOF[ \"$?\" != \"0\" ] logger \"$0 - MySQL Backup failed\" || :
如果MySQL数据库备份失败, 上面最后一行代码将会写入一条信息到/var/log/message文件。 2). 其它用法 如果你需要记录/var/log/g文件中的信息, 可以使用: $ logger -f /var/log/g
把消息发送到屏幕(标准错误), 如系统日志: $ logger -s \"Hard disk full\"
你可以参考man参考页获得更多的选项信息: man loggerman syslogd
2. 输出Iptables日志到一个指定的文件 Iptables的man参考页中提到: 我们可以使用Iptables在Linux内核中建立, 维护和检查IP包过滤规则表。几个不同的表可能已经创建, 每一个表包含了很多内嵌的链, 也可能包含用户自定义的链。 Iptables默认把日志信息输出到/var/log/messages文件。不过一些情况下你可能需要修改日志输出的位置。下面向大家介绍如何建立一个新的日志文件/var/log/g。通过修改或使用新的日志文件, 你可以创建更好的统计信息或者帮助你分析络攻击信息。 1). Iptables默认的日志文件 例如, 如果你输入下面的命令, 屏幕将显示/var/log/messages文件中的Iptables日志信息: # tail -f /var/log/messages
输出: Oct 4 00:44:28 debian gconfd (vivek-4435): Resolved address \"xml:readonly:/etc/gconf/faults\" to a read-only configuration source at position 2Oct 4 01:14:19 debian kernel: IN=ra0 OUT= MAC=00:17:9a:0a:f6:44:00:08:5c:00:00:01:08:00 SRC=200.142.84.36 DST=192.168.1.2 LEN=60 TOS=0x00 PREC=0x00 TTL=51 ID=18374 DF PROTO=TCP SPT=46040 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
2). 输出Iptables日志信息到一个指定文件的方法 打开你的/etc/nf文件: # vi /etc/nf
在文件末尾加入下面一行信息: rning /var/log/g
保存和关闭文件。 重新启动Syslogd(如果你使用Debian/Ubuntu Linux): # /etc/init.d/sysklogd restart
另外, 使用下面命令重新启动Syslogd(如果你使用Red Hat/Cent OS/Fedora Core Linux): # /etc/init.d/syslog restart
现在确认你的Iptables使用了log-level 4参数(前面有一个log-prefix标志)。例如: # DROP everything and Log itiptables -A INPUT -j LOG –log-level 4iptables -A INPUT -j DROP
举一个例子, 丢弃和记录所有来自IP地址65.55.11.2的连接信息到/var/log/g文件。 iptables -A INPUT -s 64.55.11.2 -m limit --limit 5/m --limit-burst 7 -j LOG –log-prefix ‘** HACKERS **’ --log-level 4iptables -A INPUT -s 64.55.11.2 -j DROP
命令解释: - log-level 4: 记录的级别. 级别4为警告(warning)。 - log-prefix ‘*** TEXT ***’: 这里定义了在日志输出信息前加上TEXT前缀。TEXT信息最长可以是29个字符, 这样你就可以在记录文件中方便找到相关的信息。 现在你可以通过/var/log/g文件参考Iptables的所有信息: # tail -f /var/log/g
呼和浩特哪家白癜风好武汉无痛人流
沈阳早泄治疗哪家好
- 女子痴迷减肥瘦到50斤致多器官衰竭,医师:她生完孩子对减肥更有执念,一年瘦了80斤
- 混迹职场多年,但是这些职场潜规则,你或许仍然不知道,别害了你
- 工厂用光排管涡轮
- 月内已交付7艘船!新大洋造船交付嘉航海运第2艘75000吨内贸散货船
- 《蛋仔派对》X水波蛋联动外观超萌迫近!朗朗晴天加载中......
- 杨鸣情商到底多高?蒋兴权录像懵了,郭士强都没做到
- 马力:钢铁行业面临的整体状况正在改善
- 这些“有颜色”的营养成分,对身体很重要!
- 四大名著若去除一本,你会选哪一本?网友选的竟不是红楼梦?
- 中央气象台:今年最大最强高温来袭!家中DIY这几款凉茶吧~
- 格纹复古裙的身着搭,总是更加优雅一些
- 猪蹄分“前后”,买错了肉质差白花钱,记起5点,不被肉贩忽悠