【发布时间】:2011-04-21 06:57:19
【问题描述】:
我想编写一个程序来监控 syslog 并在 PPP 身份验证失败时执行操作。
我认为“tail -f /var/log/syslog”可能会有所帮助,但我不确定如何使用它...可能使用管道?
我发现了类似的用 bash 写的东西,但我不知道如何用 C 来实现它。
这是 bash 方法:
首先使用 mkfifo 创建一个命名管道:
$ mkfifo -p /home/mezgani/syslog.pipe
使 syslog.conf 指向该文件:
*.info |/home/mezgani/syslog.pipe
重启系统日志:
$ sudo pkill -HUP syslogd
创建读取管道的处理脚本
$ cat > foo
#!/bin/bash
cat /home/mezgani/syslog.pipe | while read input
do
# some stuff
echo ${input}
# ….
done
【问题讨论】:
-
听起来很老套。不是有一个PPP插件机制可以代替吗?
-
我对 linux PPP 服务器做了一些研究,但没有找到任何东西。