导航:首页 > 文件类型 > linux监控某个文件

linux监控某个文件

发布时间:2023-06-17 01:30:41

1. 跪求linux 下的一个shell脚本来监控指定的目录及其子目录中的任何文件变化然后报告到指定记录文件。

我可以给你提供个思路,可以实现你的需求,同时你自己写出来也专是一个不错的学习机属会,我写过一个“一点触发多点生效”的shell脚本,应用到inotify技术,你可以参考下语法应用。http://hi..com/cong_rong520/blog/item/563ce16e8f0bc8e442169482.html

2. cacti怎么去监控linux下某个文件的大小

cacti居然还有这么强大的功能,坐等大神回答!

3. LINUX下,如何监控文件,得到新写入文件的内容 一个文件不断被写入,要

看tail -f的实现.(coreutils)

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

linux下的inotify系统调用可以实现这点,你可以用c来写,然后通知java,或者找找inotify的java binding库 比如 jnotify.sourceforge.net

5. linux如何追踪一个正在变化的文件

tail -n 10 -f filename 查看文件最后10行,动态刷新 -f (flow流动)

6. 诺顿 linux 怎样监控文件

解决方案 双击任务栏诺顿的图标打开诺顿的设置主页: 点击红框中的Norton Protection Center按钮打开设置中心: 点击设置按钮,再点击Norton Internet Security选项: 再点击左侧的个人防火墙按钮: 可以打开或者关闭个人防火墙。

7. linux tail监控日志文件

先用date获取当前日期,格式化后得到文件名。
filename=`date +"%Y-%m-%d"`
tail -n 50 ${filename}.log

8. 在windows下 怎么用java 实现对linux系统下的一个文件夹进行监控

我没法给你源码,但可以给你思路:
【最简单粗暴的】
1. 写一个死循环
2. sleep 个 100 毫秒
3. 第一次启动建立一个HashMap<File, Date>,扫描所有文件并读取创建日期记录下来(包括子文件夹)
4. 记录全部文件的数量 fileCount, lastFileCount
5. 检查是否数量有变,如果木有就没有新增文件
6. 如果有变化,。。。。你懂的,再扫找出不在HashMap里面的就是新增的了

【特殊参考】
参考tomcat、jboss这类服务器软件如何扫面检测部署文件夹下面文件变动的

【高阶】
参考防毒软件设计原理,截获系统IO,有对你指定文件夹的Access操作时,按需记录

9. 在linux内核如何改写内核函数,来监控一个进程对文件做了哪些的操作,并把具体的操作打印出来。

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

10. 如何在linux中使用inotify实现文件系统的监控(php接口)

<?php

define('DIRWATCHER_CHANGED',IN_MODIFY|IN_CLOSE_WRITE|IN_MOVE|IN_CREATE|IN_DELETE);

/**
*DirWatcher
*
*@authorCharlesTang<charlestangATfoxmailDOTcom>
*/
classDirWatcher{

private$_callbacks=array();
private$_directories=array();
private$_inotify=null;

publicfunction__construct(){
$this->_inotify=inotify_init();
}

publicfunctionaddDirectory($path,$mask=DIRWATCHER_CHANGED){
$key=md5($path);
if(!isset($this->_directories[$key])){
$wd=inotify_add_watch($this->_inotify,$path,$mask);
$this->_directories[$key]=array(
'wd'=>$wd,
'path'=>$path,
'mask'=>$mask,
);
}
}

publicfunctionremoveDirectory($path){
$key=md5($path);
if(isset($this->_directories[$key])){
$wd=$this->_directories[$key]['wd'];
if(inotify_rm_watch($this->_inotify,$wd)){
unset($this->_directories[$key]);
}
}
}

publicfunctionaddDirectories($directories){
foreach($directoriesas$dir){
if(!is_array($dir)){
$this->addDirectory($dir);
}else{
$this->addDirectory($dir['path'],$dir['mask']);
}
}
}

publicfunctionaddCallback($callback,$params=array(),$priority=9){
$key=md5(var_export($callback,true));
if(!isset($this->_callbacks[$key])){
$this->_callbacks[$key]=array(
'callable'=>$callback,
'params'=>$params,
'priority'=>$priority,
);

usort($this->_callbacks,create_function('$a,$b','return$a["priority"]>$b["priority"];'));
}
}

publicfunctionremoveCallback($callback){
$key=md5(var_export($callback,true));
if(isset($this->_callbacks[$key])){
unset($this->_callbacks[$key]);
}
}

publicfunctionaddCallbacks($callbacks){
foreach($callbacksas$callable){
if(is_callable($callable)){
$callable=array(
'callable'=>$callable,
'params'=>array(),
'priority'=>9,
);
}

$this->addCallback($callable['callable'],$callable['params'],$callable['priority']);
}
}

publicfunctionstartWatch(){
while(TRUE){//启动一个常驻进程,监视目录的变化,事件触发回调函数
$event=inotify_read($this->_inotify);

if(defined('DIRWATCHER_DEBUG')&&DIRWATCHER_DEBUG){
error_log(vsprintf("[wd:%d][mask:%d][cookie:%s]%s",$event[0]));
}

foreach($this->_callbacksas$callable){
call_user_func_array($callable['callable'],array_merge($event,$callable['params']));
}
}
}

publicfunctionstopWatch(){
//没有实现,可以引入pcntl,优雅退出,退出前记得fclose($this->_inotify)
}

}

阅读全文

与linux监控某个文件相关的资料

热点内容
在word文档里添加word文档 浏览:657
iphone5s如何导入文件 浏览:634
苹果扩容u盘哪个品牌好 浏览:295
电脑计算机保存文件 浏览:839
nodejs推荐书 浏览:405
excel如何自动计算两列数据百分比 浏览:278
下面网络用语是什么意思 浏览:494
强制复制文件的linux命令 浏览:545
自学编程先找个什么工作过渡好 浏览:610
家庭网络选择 浏览:993
文件变成jse格式怎么办 浏览:400
巴西看世界杯app哪个好 浏览:883
如何显示隐藏中的文件 浏览:768
数据统计图怎么设置 浏览:299
微信怎么进行大文件传输 浏览:4
如何传输大容量文件 浏览:346
共享文件夹windows无法访问 浏览:642
日本编程教什么 浏览:998
tcpdump输出到文件 浏览:121
手机里有什么有价值的app 浏览:117

友情链接