温馨提示×

ubuntu文件系统监控工具

小樊
52
2025-10-05 20:14:03
栏目: 智能运维

Ubuntu文件系统监控工具汇总

1. inotify-tools(命令行实时监控)

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

2. fswatch(跨平台实时监控)

fswatch是跨平台的文件系统监控工具(支持Linux、macOS、Windows),可实时监控文件/目录的变化,支持自定义事件类型(如修改、创建、删除)和过滤条件,适用于需要跨环境使用的场景。

  • 安装sudo apt-get install fswatch
  • 使用示例
    • 监控/home/user/Documents目录的实时变化:
      fswatch /home/user/Documents
    • 递归监控并显示详细事件信息(如事件类型、时间戳):
      fswatch -r -x /home/user/Documents

3. watchdog(Python编程监控)

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()
    

4. Directory Monitor(图形化实时监控)

Directory Monitor是一款图形化工具,提供直观的界面用于监控文件/目录变化,支持实时显示事件(如创建、修改、删除)、设置过滤条件(如文件类型、大小)和通知方式(如弹窗、邮件),适合不熟悉命令行的用户。

  • 安装:通过官方网站下载安装包(如.deb格式),双击运行安装向导完成安装。
  • 使用步骤
    1. 启动工具后,点击“Add Directory”选择要监控的目录;
    2. 在“Settings”中配置监控选项(如事件类型、过滤条件);
    3. 点击“Start Monitoring”开始监控,事件会实时显示在主界面。

5. 性能监控补充工具(可选)

若需监控文件系统的性能指标(如磁盘I/O、读写速度、缓存命中率),可使用以下工具:

  • iostat:监控CPU和磁盘I/O统计信息(需安装sysstat包);
  • dstat:多功能系统资源监控工具(实时显示磁盘I/O、网络流量等);
  • glances:跨平台系统监控工具(汇总CPU、内存、磁盘、网络等指标)。

0