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 内核中的一个特性,可以用来监控目录