当前位置:首页 » 操作系统 » linux文件监控

linux文件监控

发布时间: 2023-03-30 05:11:20

java如何实现linux下实时监控文件是否有变化

java 的WatchService 类提供了一种方式可以检查
try
{
WatchService watchService = FileSystems.getDefault()
.newWatchService();
Path path = Paths.get(pathName);
// 注册监听器
path.register(watchService,
StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_DELETE);
while (true)
{
// 阻塞方式,消费文件更改事件
List<WatchEvent<?>> watchEvents = watchService.take()
.pollEvents();
for (WatchEvent<?> watchEvent : watchEvents)
{
System.out.printf("[%s]文件发生了[%s]事件。%n", watchEvent
.context(), watchEvent.kind());
}
}
}
catch (Exception e)
{
}

❷ linux中用什么命令实现对目录文件变化的监控

#!/bin/bash
if [ ! -f check.txt ];then
ls >check.txt
elif [ ! -f check.old ];then
mv check.txt check.old
ls >check.txt
diff check.txt check.old|grep '^>'|sed 's/>/deleted file:/g'
diff check.txt check.old|grep '^<'|sed 's/</created file:/g'
else
mv check.txt check.old
ls >check.txt
diff check.txt check.old|grep '^>'|sed 's/>/deleted file:/g'
diff check.txt check.old|grep '^<'|sed 's/</created file:/g'
fi

不知是不是你想要的。。。只实现监控新增的文件和删除的文件。

❸ Linux 监控文件被什么进程修改

你好,
如果只是监视普通文件操作,一般情况下不需要修改内核。 运行“strace -e file -o log.txt 可执行文件名" 即可。对已经运行的程序,用strace -p pid。 最创建子进程的,加-f参数。具体man strace。

❹ 监控一个持续刷新的日志文件/var/log/messages,命令是什么/var/log/messages

Zabbix Advance - Linux log monitor 日志监控(/var/log/messages,/var/log/secure,其它程序日志皆可) 原创
2020-09-11 10:43:40
2点赞

Fei-Huang

码龄12年

关注
文章目录
日志监控原理
本文档示例版本与官方使用文档
配置过程
一,被监控的主机上配置zabbix_agentd.conf
二,修改日志文件的权限
修改前日志文件的权限:
修改日志文件的权限
查看修改后的文件权限
三,配置zabbix web item页面(监控root用户登陆)
root用户登陆测试庆凳皮
配置告警(trigger)
最终配置
再次测试root登陆
日志监控原理
zabbix 监控日志,主要是用于监控日志中的关键字,遇到关键字后,zabbix agent 将日志发送给server。日志监控必需是agent active的监控项目

本文档示例版本与官方使用文档
官方文档链接

配置过程
一,被监控的主机上配置zabbix_agentd.conf
[root@GuangGu_Zabbix_proxy ~]# egrep -v "#|^$" /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=X.X.X.X
ServerActive=X.X.X.X
Hostname=Zabbix_lOG
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
ServerActive=X.X.X.X
Hostname=Zabbix_lOG
以上两个参数配置对日志很重要,agent active 在发送数据给server端时,会将配置文件中的hostname的值做为一个值携带给服务端,zabbix_server收到发送过来的数据后会主动匹配这个值,是否与自己配置的主机的粗贺hostname一致,一致即接收数据,放置在数据库中。

二,修改日志文件的权限
通常情况下,/var/log/目录下的系统日志文件只有root用户有相应的读写权限,而zabbix对这些文件需要有读取的誉差权限,否则无法监控,所以在不更改属主属组的情况下,使用==“facl”== 添加文件权限比较合适,以下为示例:

修改前日志文件的权限:
[hostname]# ls -l /var/log/messages
-rw------- 1 root root 138063 Sep 11 08:10 /var/log/messages
1
2
1
2
只有root用户有读写权限,其它的用户均没有权限

修改日志文件的权限
setfacl -m u:zabbix:r-- /var/log/messages
1
1
查看修改后的文件权限
[root@GuangGu_Zabbix_proxy ~]# ls -l /var/log/messages
-rw-r-----+ 1 root root 193670 Sep 11 09:10 /var/log/messages
1
2
1
2
[root@GuangGu_Zabbix_proxy ~]# getfacl /var/log/messages
getfacl: Removing leading '/' from absolute path names
# file: var/log/messages
# owner: root
# group: root
user::rw-
user:zabbix:r--
group::---
mask::r--
other::---

1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
user:zabbix:r-- 可以看到zabbix用户有r的权限了
但是这条命令只设置了当前的/var/log/messages的文件的权限,这个日志文件是会随日期滚动的所以还需要设置一下日志滚动后的zabbix用户的权限,此时还需要修改另外一个文件的内容:

[root@hostname~]# vim /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/usr/bin/setfacl -m u:zabbix:r-- /var/log/messages
endscript
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
logrotate 不是守护进程的服务,所以不需要重启

三,配置zabbix web item页面(监控root用户登陆)
key : log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
/var/log/messages 中 root 用户登陆的日志记录如下:

Sep 11 09:30:01 LOGMONITOR systemd: Started Session 6787 of user root.
1
1

几个注意点:

类型必需是“zabbix agent active”的
信息类型必需是“日志”型的
log[/var/log/messages, Started Session .* of user root.$,skip,]

root用户登陆测试
Sep 11 09:44:47 LOGMONITOR systemd-logind: New session 6789 of user root.
Sep 11 09:44:47 LOGMONITOR systemd: Started Session 6789 of user root.
Sep 11 09:44:47 LOGMONITOR systemd: Starting Session 6789 of user root.
1
2
3
1
2
3
以上三条是登陆产生的日志
查看zabbix监控的消息记录

点击“历史记录查看”

zabbix已经收到相关日志

配置告警(trigger)
配置告警思路:

只要zabbix收到相应条目的日志一次,就触发一次告警
收到告警后,如果60s内没有再次触发告警就消失
最终配置

再次测试root登陆

此告警60S后消失

文章知识点与官方知识档案匹配
CS入门技能树Linux入门初识Linux
24650 人正在系统学习中
打开CSDN APP,看更多技术内容

zabbix监控Linux进程方法_lihuaichen的博客
利用zabbixproc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量 name- 进程名称 (默认“all processes”)user- 用户名 (默认 “all users”)state- 可用值:all(默认),run,sl...
继续访问
zabbix监控远程linux服务器基础操作_今天摘太阳的博客_linu...
查看添加的监控主机的最新数据是否监控到数据。4. 通过web页面配置linux监控,添加监控主机及套用模板设置。 zabbix监控Linux流程 m0_52091913的博客 312 zabbix监控Linux流程,邮件警告 远程监控 linux服务器软件,如何从Web浏览器远程监控...
继续访问
log_monitor日志监控
对qps以及接口的平均耗时进行统计 特点 (1)轻量: 共219KB(代码量约300行), 无需安装,解压即可使用 (2)低侵入: 基于日志文件进行统计,无需修改原程序 使用说明 (1) 二进制包:下载工具包 log_monitor.tar.gz,并解压 (2) 源码编译:make 之后进行参数配置,可以拷贝现有的,各个参数说明如下: log_file=/data/nginx_logs/access.log log_reg=
(.∗)\+0800
(.∗)\+0800
time_format=%d/%b/%Y:%H:%M:%S retain_seconds=3600 http_port=3344 log_level=INFO log_file: 需要监控的日志的路径 log_reg: 需要匹配的日期以及耗时信息的正则表达式(需要加括号) time_format: 日志中日期的格式 retain_seconds: 统计数据保留时间 http_port: 用来通过页面展示统计数据的端口 log_level: log monitor的日志级别 启动 ./bin/log_monitor [conf_file_path] 查看 (1) 在控制台就可以看到系统实时的qps以及每一秒中接口的平均耗时情况 (2) 通过浏览器访问 http://${ip}:{http_port}/show.html
Zabbix监控之Linux命令行/Shell脚本解析json
本文主要写了在Linux下如何用Shell脚本解析json数据,以便于在Zabbix中添加适合于业务应用的监控项。为什么要使用json?json作为一种文本化的数据格式(文本化协议),符合UNIX编程的哲学,既符合透明性(透明性:设计可见,便于审查和调试)又符合文本性(文本性:数据应该保存为文本文件)。关键在于json对Web程序或者java程序非常友好,对于开发人员来说,他们也喜欢使用json数...
继续访问
linux启动zabbix服务,zabbix监控Linux系统服务_邓琨腾的博客
Zabbix自动发现规则监控Linux系统的service units 项目要求:通过systemctl命令查看Linux系统的service units; 监控前提:zabbix环境已搭建好; 监控原理:通过shell脚本把systemctl命令返回的结果以json格式发送到zabbix; ...
继续访问
zabbix自动监控linux进程,zabbix远程命令-监控进程停掉后自动重启应用...
6.在验证远程命令的可用性之后,在zabbix前端页面添加监控项,设置触发器,并添加执行远程命令的动作。 7.添加监控项: 自定义名称,类型为zabbix客户端,键值为proc.num[,,,httpd],其他自定义,点击添加。
继续访问
zabbix监控日志
zabbix监控日志
继续访问

linux的数据清洗视频,Zabbix监控历史数据清理
Zabbix监控运行一段时间以后,会留下大量的历史监控数据,Zabbix数据库一直在增大;可能会造成系统性能下降,查看历史数据室查询速度缓慢。Zabbix里面最大的表就是history和history_uint两个表,而且zabbix里面的时间是使用的时间戳方式记录,所以可以根据时间戳来删除历史数据一、关闭zabbix、http服务pkill -9 zabbixservice httpd stop...
继续访问
zabbix3.4监控linux磁盘使用率_一文看懂Linux全能型监控命令--dstat...
在linux上有top、free、iostat、vmstat、netstat等诸多监控系统各项性能的工具,如top,可以实时监控到系统负载、内存等使用情况,iostat能监控系统I/O情况,而vmstat可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。不过今天主...
继续访问
Zabbix监控Linux进程方法
利用zabbix proc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量 name - 进程名称 (默认“all processes”) user - 用户名 (默认 “all users”) state - 可用值: all (默认), run,sleep, zomb cmdline - 命令行过滤(正则表达时) 一、首先新建一个模板,在监控项条目中新
继续访问

关于/var/log/messages文件
/var 包括系统运行时要改变的数据。其中包括每个系统是特定的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run。有些目录还是可以与其他系统共享,如/var/mail, /var/cache/man, /var/cache/fonts,/var/spool/news。var目录存在的目的是把usr目录在运行过程中需要更改的文件或者临时生成的文件及目录提取出来
继续访问
@Zabbix常用的监控命令及监控分析
文章目录一、面试技巧1.面试常问二、单机监控命令1.CPU 监控命令2.内存监控命令3.磁盘监控命令4.网络监控命令5.TCP11种状态监控命令6.生产场景需求7.系统的oom(out of memory)8.使用脚本监控nginx三、zabbix数据库拆分1.环境准备2.导出原Mysql中的zabbix数据3.准备新的数据库环境4.关闭原来的数据库测试5.修改连接数据库代码 一、面试技巧 1.面试常问 #1.面试官:你们公司监控是如何做的? 你:用zabbix 面试官:.... #2.面试技
继续访问
最新发布 zabbix日志监控:操作系统、业务系统、文件大小、多行日志
(一)监控操作系统日志 (二)监控业务系统日志 (三)监控日志文件大小 (四)多行日志监控- Python脚本优化
继续访问

zabbix 时间错误_使用Zabbix来监控系统日志
在Linux系统上,日志文件通常可以分为四类:System Logs(系统日志)Event Logs(事件日志)Application Logs(应用程序日志)Service Logs(服务日志)一、为什么要监控日志?Linux为了跟踪和监视系统(内核)各个组件及应用程序运行状态而将产生的相关事件存储到日志文件中,当系统或者应用程序出现问题时,系统管理员能根据日志定位到问题。而通过监控Linux的...
继续访问
【Docker学习】13、使用 Docker/Docker-Compose 部署 Prometheus 监控组件
文章目录1、Prometheus 监控组件(1)Prometheus 监控 Linux(2)Prometheus 监控 Docker(3)Prometheus 监控 MySQL 1、Prometheus 监控组件 从上面的构建可以发现,现在已经可以监控当前Linux主机了,实际上能监控的内容很多,可以在官网查看,监控内容或社区查找 搭建各种组件的监控,首先需要找到提供数据的数据源,当然,Prometheus已经给我们写好了配置,我们只需要在找到对应的配置进行安装即可,Prometheus GitHub,例如
继续访问

Linux从入门到放弃 zabbix常见的linux监控命令
cpu top htop uptime vmstat 内存 free 磁盘 df iotop 网卡 iftop nethogs 系统进程 ps pstree
继续访问
zabix监控linux进程名称,zabbix监控Linux进程方法
利用zabbixproc.num方法监控Linux服务进程proc.num[,,,]监控用户某些状态的进程的数量name- 进程名称 (默认“all processes”)user- 用户名 (默认 “all users”)state- 可用值:all(默认),run,sleep,zombcmdline-命令行过滤(正则表达时)具体监控某一服务进程的方法一、首先新建一个模板,在监控项条目中新建一...
继续访问

zabbix监控Linux流程
zabbix监控Linux流程,邮件警告
继续访问

zabbix监控linux文件目录,zabbix之日志文件监控
一、日志item介绍下面介绍zabbix另一个“重量级”的功能——日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持。在配置Item的时候,Type选择Zabbix agent (active),这里主要需要配置的是Key。下面是监控日志的两种key——log和logtr。log[/path/to/some/file,,,,,]logtr[/pa...
继续访问

监控linux日志,Zabbix日志监控:Linux异常登录告警
本文利用zabbix的日志监控功能监控Linux的secure日志,当有用户登录失败或者用户在非常规时间登录成功时发出告警。这里我们使用zabbix提供的'log[file,,,,,]'来监控Linux的/var/log/secure文件。先介绍下这个log监控项:1)监控项类型是Zabbix agent (active),返回数据类型是Log。2)Zabbix agent要对监控的日志文件有可读...
继续访问

Zabbix监控日志
创建监控项 创建触发器 验证 问题定位 创建监控项 注意要选择客户端主动式,使用主动式的时候无法使用zabbix-get工具调试 键值示例:log[/home/moa/log/smapd/smapd.log,”info”,,,skip,,] 说明:1、/home/moa/log/smapd/smapd.log表示日志路径 2、”info”表示匹配的关键字...
继续访问
zabbix监控日志关键字(ERROR)
前言:对我我这种刚入职场不久的小运维来说其实这个对我来说真的挺难得,研究了好久也在朋友的帮助下终于成功了,在此多谢我的朋友(倪伟)。 公司没有zabbix监控,领导让搭建一套zabbix然后让监控错误日志(关键字error),其实据说牛掰的大神可以监控到具体报错信息是什么,如有大神能编写出来欢迎指教。 因为就是想让他提醒一次就不在提醒了,所以脚本我写了半天(不擅长啊) 我zabbix搭建的过...
继续访问
热门推荐 Linux实时查看文件/var/log/messages以及这个文件的问题
耐心看完说不定有你遇到的问题 1./var/log/messages 首先说一下这个文件的存在,在Ubuntu系统中,这个文件你访问可能提示找不到这个文件 //使用tail命令访问 name@name:~$ sudo tail /var/log/messages tail:无法打开'/var/log/messages' 读取数据: 没有那个文件或目录 tail:没有剩余文件 可能会出现...
继续访问
Zabbix使用总结
1. CentOS 7上启动zabbix-server失败,/var/log/messages中的报错信息如下: Feb 22 12:56:43 mysql-server1 systemd: Starting Zabbix Server with MySQL DB... Feb 22 12:56:43 mysql-server1 kernel: zabbix_server[1599]: s
继续访问
zabbix监控linux历史命令
zabbix
写评论

评论

3

❺ 13,linux上怎么动态监控一个文件的内容变化

用途说明
tail命令可以输出文件的尾部内容,默认情况下它显示文件的最后十行。它常用来动态监视文件的尾部内容的增长情况,比如用来监视日志文件的变化。与tail命令对应的是head命令,用来显示文件头部内容。

常用参数
格式:tail file
输出指定文件file的尾部内容,默认输出最后十行内容(outputthe last part of files。Print the last 10 lines of each FILE tostandard output. )

格式:tail file1 file2...
指定多个文件时,会显示每个文件的文件名称,再显示该稿搏文件的尾部内容(Withmore than one FILE, precede each with a header giving the file name.)

格式:tail
格式:tail -
不指定文件时,表明从标准输入读取内容,这通常用在管道线后面,把前一个命令的输出作为tail的输入内容(Withno FILE, or when FILE is -, read standard input.)

格式:tail -n file
格式:tail -n n file
格式:tail --lines=n
显示文件最后n 行,比如tail -20 file就是显示文件最后10行,这个参数可以配合其他参数与使用。注意上面三种格式的斜体n 是实际要显示的行数的数值。

注意:tail-n可以显示最后n行的文本内容。那么有没有一种方式显示从n行开始的文本内容,答案是肯定的。
tail -n +4file表示显示文件file从第4行开始的内容。从1开始计数。

格式:tail -f file
动态跟踪文件file的增长情况(outputappended data as the filegrows),tail会每隔一秒去检查一下文件是否增加新的内容,如果增加就追加在原来的输出后面显示。但这种情况,必须保证在执行tail命令时,文件已经存在。
如果想终止tail-f的输出,按Ctrl+C中断tail程序即可。如果按Ctrl+C不能中断输出,那么可以在别的终端上执行killall tail强行终止。

注意:采用tail-f来监控文件变化情况时,在某些情况会不太灵。比如在Java应用程序中采用log4j日志时,每隔1个小时生成一个新的日志文件,当前的日志输出在 LOG4J.LOG中,当一个小时过去后,log4j会将LOG4J.LOG改名成LOG4J.yyyy-mm-dd-HH的形式。那么这个时候tail -f就不能动态输出新的日志内容了。tail命令本身提供了很多参键备祥数,似乎都不能完美的解决这个问题。最后只好编写了一个脚本ftail.sh来跟踪日 志,详见《Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 》。刚才我仔细查看了tail的手册页,发现tail -F就能够做到跟踪这种类型的日志。转滚烂念一想,这种需求应该早就被Linux世界的人给满足了的。

格式:tail -F file
格式:tail--follow=name --retry file
功能与tail -ffile相同,也是动态跟踪文件的变化,不同的是执行此命令时文件可以不存在。

以上处理都是针对文本文件的,下面是针对二进制文件的情形。

格式:tail -c n file
取文件file的最后n个字节。

格式:tail -c +n file
取文件file的第n个字节后的内容。从1开始计数。
使用示例
示例一 输出文件尾部
先使用seq命令输出20个数字保存到1.txt,然后尝试使用tail命令。
[root@new55 ~]# seq 20 >1.txt
[root@new55 ~]# cat 1.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@new55 ~]# tail 1.txt
11
12
13
14
15
16
17
18
19
20
[root@new55 ~]# tail -3 1.txt
18
19
20
[root@new55 ~]# tail -n 3 1.txt
18
19
20
[root@new55 ~]# tail --lines=3 1.txt
18
19
20
[root@new55 ~]# tail -n +14 1.txt
14
15
16
17
18
19
20
[root@new55 ~]#

示例二 动态跟踪tomcat输出
动态跟踪tomcat输出。
[root@web logs]# tail -f catalina.out
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
2010-12-0313:23:02,236 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetJobReq={seq=991,job_id='86130469-0006'}
2010-12-0313:23:02,301 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetJobRsp={seq=991,result=0(成功),,info={job_id='86130469-0006',employer_id=86130469,employer_name=无锡富士时装有限公司,,,job_title='|570309|',job_title0='文员',job_type=f(全 职),issue_time='2010-11-0300:00:00.0',work_address='1902',work_address0=无锡 市,desired_count='1',,,,,,job_desc=大专,1年以上5s管理工作经验,电脑操作熟练。,required_experience=1(一年以上),,,,required_degree=15(大专),,,,,,,valid_days=30,access_count=12,expire_time='2010-12-0300:00:00.0',job_status=1(过期),,,,,,contact_name=王小 姐,contact_number=0510-85550088,remarks='★此职位是从后台导入的
',enter_time='2010-11-0309:45:11.0',change_time=2010-12-0302:18:05.0,,job_seq=123201,,required_min_age=22,,,accommodations=面议,serve_principal=wjw12580,job_summary=大专,1年以上5s管理工作经验,电脑操作熟练,,}}
2010-12-0313:23:02,302 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetEmployerReq={seq=0,employer_id='86130469'}
2010-12-0313:23:02,304 [http-80-15] DEBUG mhr.roi.MhrManager -MhrGetEmployerRsp={seq=0,result=0(成功),,info= {employer_id='86130469',employer_name=无锡富士时装有限公司,employer_region=1902,employer_address=无锡市滨湖镇山水城科技园8号,,employer_desc=无锡 富士时装(集团)有限公司成立于1992年,是中日韩合资企业。主要生产高档针织时装,产品全部外销,连续多年荣获“中国行业500强”、“全国工业重点 行业效益十佳企业”、“无锡市百佳企业”等称号。公司总部位于江苏省无锡市滨湖镇山水城科技园,全新的厂房设施,占地面积30亩。公司分别在苏州、泰兴、 盐城、徐州设有分厂,集团公司现有职工1500多人,年销售额近3亿元。,,,,,,open_mode=5(系统自动操 作),open_time='2010-11-0309:45:10.0',,,,,contact_name=王小 姐,contact_number=0510-85550088,,,,,employer_status=1(已经开通),,,login_password=871386,,agency=false,balance=100.0000,,,,,serve_principal=wjw12580,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,remarks='此帐号由“12580zgz-盐城维克多网络传媒有限公司”导入',enter_time='2010-11-03 09:45:10.0',}}
Ctrl+C
[root@web logs]#

示例三 动态跟踪log4j日志
经过我的试验,发现tail -F功能的强大,它等同于--follow=name--retry。如果你跟踪的文件被移动或者改名后, 你还想继续tail它, 你可以使用这个选项。
tail手册页中关于--retry的说明:keep trying to open a file even if itis inaccessible when tail starts or if it becomes inaccessible later; useful when following by name, i.e., with --follow=name。 tail命令开始执行时文件不存在或者执行过程中文件不能访问,会不断重试。
关于--follow的说明:-f, --follow[={name|descriptor}]output appended data as the file grows; -f, --follow, and --follow=descriptorare equivalent 。--follow=descriptor表明跟踪的是文件描述符, --follow=name表明跟踪的是文件名称。 如果文件名称改掉之后,还想继续跟踪原文件名称对应的尾部内容,就得使用-F选项而不是-f选项了。
[root@webimx_server]# tail -F log/IMX.LOG
14:13:28.892 INFO ImxConnection[6] imx.server.ImxConnection - RXIMX_ACTIVE_TEST{seq=3460,client_id=1291343201649042,presence_status=1(presence_status_online),}
14:13:28.892 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006417 (01/02/00) -Connection #9 served
14:13:28.892 INFO ImxConnection[6] imx.dbo.ImxOnlineInfoRow - EXEC SQL UPDATEimx_online_info SET last_active_time = '2010-12-03 14:13:28.0' WHERE account ='zhy'
14:13:28.894 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - UPDATE imx_online_info SETlast_active_time = '2010-12-03 14:13:28.0' WHERE account = 'zhy'; (1milliseconds)
14:13:28.894 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006417 (00/02/00) -Connection #9 returned (now AVAILABLE)
14:13:29.625 INFO ImxConnection[6] imx.server.ImxConnection - RXIMX_ACTIVE_TEST{seq=3461,client_id=1291343201649042,presence_status=1(presence_status_online),}
14:13:29.626 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006418 (01/02/00) -Connection #8 served
14:13:29.626 INFO ImxConnection[6] imx.dbo.ImxOnlineInfoRow - EXEC SQL UPDATEimx_online_info SET last_active_time = '2010-12-03 14:13:29.0' WHERE account ='zhy'
14:13:29.627 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - UPDATE imx_online_info SETlast_active_time = '2010-12-03 14:13:29.0' WHERE account = 'zhy'; (0milliseconds)
14:13:29.653 DEBUGImxConnection[6] org.logicalcobwebs.proxool.ImxDB - 006418 (00/02/00) -Connection #8 returned (now AVAILABLE)
Ctrl+C
[root@webimx_server]#

❻ Linux 监控文件被什么进程修改

如果只是监视普通文件操作,一般情况下不需要修改内核。 运行“strace -e file -o log.txt 可执行文件名" 即可。对已经运行的程序,用strace -p pid。 最创建子进程的,加-f参数。具体man strace。

❼ Linux如何监控目录下的文件情况,一旦有新文件就以硬链接的方式复制到其他目录

#! /bin/bash
$FILE_LIST=$(find . -type f -cmin -5 -maxdepth 1)
for file in ${FILE_LIST} ;do
ln -f ${file} ~/tmp/${file}
done

##其中find命令是核心
##-type f表示只查找普通文件
##-cmin -5表示只查找5分钟之内创建的文件
##-maxdepth 1表示查找的目录深度,1表示只查找当前目录,如果不指定-maxdepth将递归查找
##ln -f ${file} ~/tmp/${file}是将查找到的文件硬链接到~/tmp目录
##你可以根据自己的需要再做相应的修改

❽ 有什么监控Linux服务器的工具吗

1、Ganglia
是一个集群监控软件,可以监视和显示集群中的节点的各种状态信息,比如:CPU、mem、硬盘利用率、I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现,此软件主要是用来监控系统性能的软件,通过曲线可以很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
它是分布式的监控系统,有两个Daemon,是一个Linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大。
RRDtool是系统存放和显示time-series (即网络带宽、温度、人数、服务器负载等) 。并且它提出有用的图表由处理数据强制执行有些数据密度。
2、Cacti
是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具,通过snmpget来获取数据,使用RRDTool绘画图形,提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。
cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。
3、Zenoss
是一款智能监控软件,允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core同时也是开源的网络与系统管理软件。
Zenoss提供功能丰富的产品,以监测整个IT基础设施:
网络 -路由器,交换机,防火墙,接入点;
服务器 -微软的Windows , Linux , Unix系统,惠普, NetApp,戴尔;
虚拟化 -完整虚拟机虚拟化基础架构( VI3 )管理, XenSource监测;
应用领域 -Process(程序),Port,网络应用服务, Web服务,数据库,中间件,商业企业应用方案 ;
4、Argus
是一个网络连接监控器,可以利用它来定制监控网络中符合某种条件的计算机,例如网络空闲、断开等。
5、Monit
是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于UNIX平台,可以自动修复那些已经停止运行的程序,适合处理那些由于多种原因导致的软件错误。
6、Nagios
是一个监视系统运行状态和网络信息的监视系统,能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios的主要功能特点:
监视网络服务(SMTP、POP3、HTTP、NNTP、PING等);
监视主机资源(进程、磁盘等);
简单的插件设计可以轻松扩展Nagios的监视功能;
服务等监视的并发处理;
错误通知功能(通过email、pager或其他用户自定义的方法)。

❾ 在linux中实现操作系统的文件使用率的监控如果发现有文件系统>=80%记录当前时间及具体文件名称和使用率

#!/bin/bash
#作者‘’‘’‘’‘’
#时间

dest_files=/home/sysadmin/fs_monitor.log
#首先去%号截取字符判断是否大于80

for sort in `df|sed -n '2,$'p|sed s/%//g|gawk '{print $4}'`
do

if [ "$sort" -ge 80 ]

#大于80要把大于80的文件系统名称信息找出来

then

`df|sed -n '2,$'p|sed s/%//g|gawk '{if ($5>=80) print} '>>$dest_files

echo "------------------------------------">>$dest_files

date +%y+%m+%d>>$dest_files;
fi
done

#########上面是脚本############

crontab -e

####上面是计划#########

*/1 * * * * /bin/sh /home/test.sh

####################
好久没写了

❿ Linux gcc或者g++编程 下如何监视文件夹中文件的改变

从编程实现上来说,linux下做这个事情,要比windows上做简单,windows上有相关API提供接口,比如VC下的ReadDirectoryChanges函数,但其实它的功能并不是很完善,我之前曾经做过一个windows下类似的工具,如果要做到很完善的功能,要涉及到windows底层驱动。而linux下做这个事情就简单多了,从内核2.6.13开始,inotify编程接口就已经被加入到系统内核中,用来监控文件系统事件,它能监控到的事件包含文件/文件夹的新建,删除,修改,属性被修改,打开等等,功能比windows API提供的要丰富得多。在linux下输入man inotify即可查看该接口的编程手册,要实现对某个文件夹的监控,只需要使用该接口提供的inotify_init, inotify_add_watch, inotify_rm_watch三个函数即可。具体可以网络inotify,很容易就能找到相关示例代码。

附Linux下inotify编程接口部分截图:

点击图片可以看大图。

热点内容
求阶乘的c语言 发布:2025-05-19 21:15:20 浏览:963
话唠安卓哪里下载 发布:2025-05-19 20:27:04 浏览:165
疯狂android讲义光盘 发布:2025-05-19 20:12:31 浏览:152
安卓手机怎么下载圈点 发布:2025-05-19 20:08:11 浏览:473
文件夹粉碎不了 发布:2025-05-19 20:05:41 浏览:249
安卓怎么把软件放进全局 发布:2025-05-19 20:03:55 浏览:688
安卓手机如何看最真实的型号 发布:2025-05-19 19:58:59 浏览:12
U盘超级加密2008 发布:2025-05-19 19:44:32 浏览:457
灯带编程软件 发布:2025-05-19 19:32:30 浏览:288
如何判断服务器被多少人访问 发布:2025-05-19 19:27:45 浏览:126