linux監控文件
A. 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目錄
##你可以根據自己的需要再做相應的修改
B. Linux 監控文件被什麼進程修改
你好,
如果只是監視普通文件操作,一般情況下不需要修改內核。 運行「strace -e file -o log.txt 可執行文件名" 即可。對已經運行的程序,用strace -p pid。 最創建子進程的,加-f參數。具體man strace。
C. linux性能監控工具有哪些
1、頂部-Linux進程監控
Linux Top命令是性能監視程序,很多系統管理員經常用它監視Linux性能,可以再許多Linux/Unix操作系統下使用,可以顯示CPU使用情況、內存使用情況、交換內存、緩存大小、緩沖區大小、進程PID、用戶、 命令等等,它還顯示高內存和CPU運行流程的利用。
2、VmStat-虛擬內存統計
Linux VmStat命令用於顯示虛擬內存,kernerl線程,磁碟,系統進程,I/O塊,中斷,CPU活動等的統計信息。默認情況下,vmstat命令在Linux系統下不可用,您需要安裝名為sysstat的軟體包 ,其中包含vmstat程序。
3、Lsof-列出打開的文件
許多Linux/Unix系統中使用的Lsof命令,用於顯示所有打開文件和進程的列表。包含的開放文件是磁碟文件、網路套接字、管道、設備和進程。使用此命令的主要原因之一是無法卸載磁碟並顯示正在使用或打開文件的錯誤。使用此命令,您可以輕松識別哪些文件正在使用中。
4、Tcpmp-網路分組分析器
Tcpmp是使用最廣泛的命令行、網路數據包分析器或數據包嗅探器程序之一,用於捕獲或過濾通過網路在特定介面上接收或傳輸的TCP/ IP數據包。它還提供了一個選項,可以將捕獲的包保存在文件中供以後分析。tcpmp幾乎可用於所有主要的Linux發行版。
5、Netstat-網路統計
Netstat是一個命令行工具,用於監視傳入和傳出網路數據包統計信息以及介面統計信息,對於每個系統管理員來說,監視網路性能並排除網路相關問題是非常有用的工具。
6、Htop-Linux進程監控
Htop是一款非常先進的互動式和實時Linux過程監控工具。這與Linux top命令非常相似,但它具有一些豐富的功能,如用戶友好的界面來管理進程、快捷鍵、進程的垂直和水平視圖等等。
D. 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
不知是不是你想要的。。。只實現監控新增的文件和刪除的文件。
E. Linux 監控文件被什麼進程修改
如果只是監視普通文件操作,一般情況下不需要修改內核。 運行「strace -e file -o log.txt 可執行文件名" 即可。對已經運行的程序,用strace -p pid。 最創建子進程的,加-f參數。具體man strace。
F. Linux監聽文件夾里文件的增刪修改變化
2021-02-03 遇到的一點小問題
最近有個需求需要監聽文件夾里文件的變化,網上找到 如何用 Shell 監控文件變化? ,安裝 pacman -Sy inotify-tools ,參照 文檔 試了下 inotifywait ,能實現挺多功能的。
G. 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)
{
}
H. 在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
####################
好久沒寫了
I. linux下怎樣用c語言做實時監控目錄中文件數量變化的程序
有一個頭文件叫inotify.h ,這是linux 內核中的一個特性,可以用來監控目錄