有动态监视网站log变动的脚本么

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
RegentW
帖子: 1486
注册时间: 2007-02-27 21:47
来自: NN
送出感谢: 2 次
接收感谢: 0

有动态监视网站log变动的脚本么

#1

帖子 RegentW » 2008-05-06 17:34

目标不高,只想实时监视文件的大小是否有变化而已。
在google上找了一圈也不知哪里有,想参考一下。
Core i5, 512G + SSD 20G, DDRIII 8G
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#2

帖子 bones7456 » 2008-05-06 17:36

有变化要怎么提醒你呢?你实时等在旁边看的话,不如 tail -f xxx.log 好了.
关注我的blog: ε==3
头像
RegentW
帖子: 1486
注册时间: 2007-02-27 21:47
来自: NN
送出感谢: 2 次
接收感谢: 0

#3

帖子 RegentW » 2008-05-06 17:57

最好在任务栏之类的地方开个小窗口或图标,有变化就可以看到,不知有没有已发明的车轮
Core i5, 512G + SSD 20G, DDRIII 8G
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#4

帖子 laborer » 2008-05-07 6:43

代码: 全选

xterm -geometry 100x10 -e 'PROMPT_COMMAND=; FILE=/var/log/syslog; { while true; do echo -ne "\033]0;$(wc -l $FILE)\007"; sleep 1; done; } & less +F $FILE'
可以把这个命令做成一个.desktop文件放在桌面或者panel上。xterm窗口的名称显示的是/var/log/syslog的行数,你也可以根据需求改成时间什么的。xterm的内容是less +F /var/log/syslog,和tail -f ...类似。可以按Ctrl-C后翻看前面的内容,按Shift-F继续监视文件末尾。
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
头像
RegentW
帖子: 1486
注册时间: 2007-02-27 21:47
来自: NN
送出感谢: 2 次
接收感谢: 0

#5

帖子 RegentW » 2008-05-07 22:01

4楼太强了,能否讲解一下或写个xterm命令行教程啊 :D
Core i5, 512G + SSD 20G, DDRIII 8G
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#6

帖子 laborer » 2008-05-07 22:29

原理很简单,就是启动xterm(用其它terminal也行)后立刻运行下面的脚本

代码: 全选

PROMPT_COMMAND=             #清空原来自动设置标题的脚本
FILE=/var/log/syslog
{ 
    while true; do 
        echo -ne "\033]0;$(wc -l $FILE)\007"    #设置标题
        sleep 1
    done
} & 
less +F $FILE
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#7

帖子 bones7456 » 2008-05-08 0:02

laborer 写了:原理很简单,就是启动xterm(用其它terminal也行)后立刻运行下面的脚本

代码: 全选

PROMPT_COMMAND=             #清空原来自动设置标题的脚本
FILE=/var/log/syslog
{ 
    while true; do 
        echo -ne "\033]0;$(wc -l $FILE)\007"    #设置标题
        sleep 1
    done
} & 
less +F $FILE
强,学习了. :lol:
关注我的blog: ε==3
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#8

帖子 laborer » 2008-05-08 11:30

我做了一个更复杂的版本,当log文件更新时任务栏上的xterm窗口会像pidgin来消息时那样闪动。

代码: 全选

#!/bin/sh

FILE="/var/log/syslog"

PROMPT_COMMAND=
ID="$RANDOM no way there is a window with the same name $RANDOM"
echo -ne "\033]0;$ID\007"
ID=`xwininfo -name "$ID" | grep "Window id: 0x[[:xdigit:]]*" -o | cut -d\  -f3`
xev -id $ID | awk "/FocusIn|FocusOut/ { system(\"xprop -id $ID -remove _NET_WM_STATE\") }" &
while true; do
    if [ "$TIME" != "`stat -c %Y "$FILE"`" ]; then
        TIME=`stat -c %Y "$FILE"`
        xprop -id $ID -f _NET_WM_STATE 32a -set _NET_WM_STATE _NET_WM_STATE_DEMANDS_ATTENTION
        echo -ne "\033]0;`wc -l "$FILE" | cut -d\  -f1` `basename "$FILE"`\007"
    fi
    sleep 2
done &
less +F "$FILE"
kill %1
kill %2
附件里是用这个脚本做的.desktop文件,解开后双击就能用了。
附件
Log Monitor.desktop.gz
log文件监视器
(543 Bytes) 下载 67 次
上次由 laborer 在 2008-05-08 11:37,总共编辑 1 次。
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
头像
solcomo
帖子: 2838
注册时间: 2007-04-25 13:12
送出感谢: 0
接收感谢: 0
联系:

#9

帖子 solcomo » 2008-05-08 11:32

很强大 :lol:
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖

☠☯⚔⚓☣☦☃☕
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
头像
RegentW
帖子: 1486
注册时间: 2007-02-27 21:47
来自: NN
送出感谢: 2 次
接收感谢: 0

#10

帖子 RegentW » 2008-05-08 11:42

景仰ing
Core i5, 512G + SSD 20G, DDRIII 8G
回复

回到 “Shell脚本”