首页 帮助中心 美国云服务器 用fswatch跟踪linux中文件和目录更改
用fswatch跟踪linux中文件和目录更改
时间 : 2024-12-13 12:07:23 编辑 : 华纳云 阅读量 : 70

Fswatch属于跨平台的文件更改监视器,当指定文件或目录的内容被更改或修改时会出现警报。可以在不同的操作系统上执行监视器,如用于监控不同操作系统文件系统变化的几种API,包括Apple OS X的文件系统事件API、支持多个BSD系统的kqueue监控工具、Solaris内核的文件事件通知API、Linux的inotify内核子系统、Windows的ReadDirectoryChangesW API,以及适用于多种系统的基于stat的监视器,后者通过检查文件修改时间来检测变化。

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

在从源代码编译 fswatch 之前,请确保系统上安装了 GNU GCC(C 和 C++ 编译器)和开发工具(Debian/Ubuntu上的build-essential )。如果没有,需要在各自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: error while loading shared libraries: libfswatch.so.13: cannot open shared object file: No such file or directory

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

sudo ldconfig

运行fswatch的一般语法是:

fswatch [option] [path]

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

fswatch -M

fswatch --list-monitors

以下命令使您能够观察当前目录中的变化( ),每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

更多内容,关注华纳云

华纳云 推荐文章
直接从硬盘运行Linux发行版的方法 用Yum删除具依赖关系的软件包的方法 用sysctl命令修改Linux内核变量的步骤 如何在Linux中新建密码保护的zip文件 适用于Linux的云存储软件推荐 Linux 中的 dir 命令选项与参数详解 OpenSSH服务器最佳安全实践包含哪些 设置网络存储库用于安装或更新软件包的方法 配置Linux服务器用于同时管理静态和动态路由 查找目录和子目录中的文件数量的方法
客服咨询
7*24小时技术支持
技术支持
渠道支持