首页 帮助中心 美国云服务器 Fswatch用于跟踪Linux文件和目录
Fswatch用于跟踪Linux文件和目录
时间 : 2025-02-14 10:17:01 编辑 : 华纳云 阅读量 : 1783

Fswatch属于跨平台的文件更改监视器,出现指定文件被更改时它会受到警报。在不同曹组系统上执行四种类型的监视器。如基于apple OS X文件系统事件API构建的监视器,基于kqueue监视器,FreeBSD 4.1中存在的通知接口也得到许多*BSD系统含OSX支持。基于Solaris内核的文件事件通知API及衍生产品的监视器。基于inotify的监视器,inotify是一款内核子系统,能显示应用程序文件系统修改。基于ReadDirectoryChangesW 监视器,ReadDirectoryChangesW 是一种记录目录更改的Windows API。监视其会定期检查文件系统状态,在内存中保存文件修改时间并手动确定文件系统的变化。

Fswatch还支持多种操作系统指定API,可递归目录监控,用包含和排除正则表达式执行路径过滤,支持自定义记录格式,支持空闲事件。

在Linux系统中安装fswatch:

sudo apt install fswatch [在Debian、Ubuntu 和 Mint上]

sudo yum install fswatch [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]

sudo emerge -a sys-apps/fswatch [在Gentoo Linux上]

sudo apk add fswatch [在Alpine Linux上]

sudo pacman -S fswatch [在Arch Linux上]

sudo zypper install fswatch [在OpenSUSE上]    

sudo pkg install fswatch [在 FreeBSD 上]

如果无法默认从系统存储库安装,可以使用源代码进行构建。使用git命令克隆最新的fswatch git存储库按照以下方式进行安装:

git clone https://github.com/emcrisostomo/fswatch.git

cd fswatch

./autogen.sh

./configure

make

sudo make install

如果以上方式还是不适合,需要在对应Linux版本中使用以下命令安装:

sudo dnf group install 'Development Tools' [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]

sudo apt-get install build-essential [在Debian、Ubuntu 和 Mint上]

在Debian/Ubuntu发行版上,执行fswatch命令时可能会出现以下错误。

fswatch:加载共享库时出错:libfswatch.so.13:无法打开共享对象文件:没有此文件或目录

要修复此问题,您需要执行以下命令,这将有助于刷新动态库的链接和缓存,然后您才能开始使用 fswatch。

sudo ldconfig

fswatch 监视 Linux 上的文件更改:

fswatch [选项] [路径]

在Linux上,建议您使用默认的inotify监视器,您可以使用-M或- list-monitors选项列出可用的监视器:

fswatch -M

fswatch --列表监视器

每4/home/tecmint秒将事件传送到标准输出。l或latency允许以秒为单位设置延迟,默认为1秒。用来观察当前目录的变化。

fswatch -l 4 .

下一个命令每5秒监视一次/var/log/auth.log文件的更改:

fswatch -l 5 /var/log/auth.log

-t或--timestamp选项打印每个事件的时间戳,要以UTC格式打印时间,请使用-u或--utf-time选项。可以使用-f或--format-time格式选项格式化时间:

fswatch --timestamp /var/log/auth.log

接下来,-x或--event-flags告诉fswatch将事件标志与事件路径一起打印。您可以使用–event-field-seperator选项使用特定分隔符打印事件。

fswatch --events-flags ~ /var/log/auth.log

要打印指示主目录和/var/log/auth.log文件中变化的事件的数值,请使用-n或--numeric选项,如下所示:

fswatch --numeric ~ /var/log/auth.log

可以浏览fswatch手册页以获取详细的使用选项和信息:

man fswatch

华纳云 推荐文章
深入探讨RDP与WebRTC的对比 Linux系统中安装K8s遇到问题怎么解决? 怎么通过Tomcat日志中识别出恶意请求? DSH集中管理大量服务器的用法教程 Linux删除文件的命令行工具分享 Linux中提取RPM或DEB包安装文件的方法 Linux如何使用fdisk命令进行磁盘操作 linux云服务器安全防护技术标准有哪些 Linux主机安装pytorch为什么失败? 基于RHEL的发行版中配置Firewalld的方法
客服咨询
7*24小时技术支持
技术支持
渠道支持