导航:首页 > 文件类型 > 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监控某个文件相关的资料

热点内容
二级开发者还有哪些app 浏览:241
app充值请联系itunes 浏览:678
矢量app和cdr哪个好 浏览:85
系统文件坏了如何修复 浏览:20
键盘系统文件误删 浏览:738
白金英雄坛所有版本 浏览:842
ps文件转hsj 浏览:382
哪个网站电影 浏览:490
ps4游戏文件格式名称 浏览:290
caxa教程2007 浏览:832
新点是什么小说网站 浏览:753
魔兽世界冰封王座3版本转换器 浏览:418
苹果3dtouch软件 浏览:979
qq视频在哪个文件夹里面 浏览:740
请帖制作网站java源码 浏览:257
自己的网站怎么做兼职 浏览:608
医院基础数据是什么 浏览:744
为什么数据线没有typec接口 浏览:39
苹果手机文件管家 浏览:187
qq头像男生水里 浏览:633

友情链接