Ubuntu文件系统监控工具汇总
inotify-tools是基于Linux内核inotify机制的经典命令行工具,用于实时监控文件/目录的变化(如创建、修改、删除、移动等),支持递归监控整个目录树,适用于脚本自动化或快速排查文件变动。
sudo apt-get install inotify-tools
/root
目录及其子目录的创建、修改事件(持续输出):inotifywait -m -r -e create,modify /root
/root
目录下文件创建/修改的总次数及类型:inotifywatch -r -e create,modify /root
fswatch是跨平台的文件系统监控工具(支持Linux、macOS、Windows),可实时监控文件/目录的变化,支持自定义事件类型(如修改、创建、删除)和过滤条件,适用于需要跨环境使用的场景。
sudo apt-get install fswatch
/home/user/Documents
目录的实时变化:fswatch /home/user/Documents
fswatch -r -x /home/user/Documents
watchdog是基于Python的事件驱动监控库,允许开发者通过编写Python脚本实现自定义监控逻辑(如文件修改后触发备份、发送通知),适用于需要灵活扩展的场景。
pip install watchdog
/path/to/dir
目录,打印修改事件):import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
if not event.is_directory: # 忽略目录变动
print(f"文件被修改: {event.src_path}")
if __name__ == "__main__":
path = "/path/to/dir"
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True) # 递归监控
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Directory Monitor是一款图形化工具,提供直观的界面用于监控文件/目录变化,支持实时显示事件(如创建、修改、删除)、设置过滤条件(如文件类型、大小)和通知方式(如弹窗、邮件),适合不熟悉命令行的用户。
若需监控文件系统的性能指标(如磁盘I/O、读写速度、缓存命中率),可使用以下工具:
sysstat
包);