導航:首頁 > 文件類型 > 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監控某個文件相關的資料

熱點內容
文件夾能容納多少張截圖 瀏覽:85
視頻文件查找 瀏覽:786
如何進入java的編程界面 瀏覽:371
二級開發者還有哪些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

友情鏈接