mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-27 02:30:10 +08:00
PUB:20170407 Pyinotify – Monitor Filesystem Changes in Real-Time in Linux.md
@geekpi @jasminepeng CC @bestony
This commit is contained in:
parent
3e2045b51d
commit
e2de60f92e
@ -1,21 +1,21 @@
|
|||||||
Pyinotify - 在 Linux 中实时监控文件系统更改
|
pyinotify:在 Linux 中实时监控文件系统更改
|
||||||
============================================================
|
============================================================
|
||||||
|
|
||||||
**Pyinotify** 是一个简单而有用的 Python 模块,它可用于在 Linux 中实时[监控文件系统更改][1]。
|
`Pyinotify` 是一个简单而有用的 Python 模块,它可用于在 Linux 中实时[监控文件系统更改][1]。
|
||||||
|
|
||||||
作为一名系统管理员,你可以用它来监视你感兴趣的目录的更改,如 Web 目录或程序数据存储目录及其他目录。
|
作为一名系统管理员,你可以用它来监视你感兴趣的目录的更改,如 Web 目录或程序数据存储目录及其他目录。
|
||||||
|
|
||||||
**建议阅读:** [fswatch - 监控 Linux 中的文件和目录更改或修改][2]
|
**建议阅读:** [fswatch - 监控 Linux 中的文件和目录更改或修改][2]
|
||||||
|
|
||||||
它取决于 **inotify**(内核 2.6.13 中包含的 Linux 内核功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间。
|
它依赖于 `inotify`(在内核 2.6.13 中纳入的 Linux 内核功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间。
|
||||||
|
|
||||||
**pyinotiy** 的目的是绑定这三个系统调用,并在其上提供了一个通用和抽象的方法来操作这些功能。
|
`pyinotiy` 的目的是绑定这三个系统调用,并在其上提供了一个通用和抽象的方法来操作这些功能。
|
||||||
|
|
||||||
在本文中,我们将向你展示如何在 Linux 中安装并使用 pyinotify 来实时监控文件系统更改或修改。
|
在本文中,我们将向你展示如何在 Linux 中安装并使用 `pyinotify` 来实时监控文件系统更改或修改。
|
||||||
|
|
||||||
#### 依赖
|
#### 依赖
|
||||||
|
|
||||||
要使用 **pyinotify**,你的系统必须运行:
|
要使用 `pyinotify`,你的系统必须运行:
|
||||||
|
|
||||||
1. Linux kernel 2.6.13 或更高
|
1. Linux kernel 2.6.13 或更高
|
||||||
2. Python 2.4 或更高
|
2. Python 2.4 或更高
|
||||||
@ -29,7 +29,7 @@ Pyinotify - 在 Linux 中实时监控文件系统更改
|
|||||||
# python -V
|
# python -V
|
||||||
```
|
```
|
||||||
|
|
||||||
一旦依赖满足,我们会使用 pip 安装 **pynotify**。在大多数 Linux 发行版中,如果你使用的是从 python.org 下载的 **Python 2 >= 2.7.9** 或者 **Python 3 >=3.4** 的二进制,那么 pip 就已经安装了,否则,就按如下安装:
|
一旦依赖满足,我们会使用 `pip` 安装 `pynotify`。在大多数 Linux 发行版中,如果你使用的是从 python.org 下载的 **Python 2 (>= 2.7.9)** 或者 **Python 3( >=3.4)** 的二进制,那么 `pip` 就已经安装了,否则,就按如下安装:
|
||||||
|
|
||||||
```
|
```
|
||||||
# yum install python-pip [On CentOS based Distros]
|
# yum install python-pip [On CentOS based Distros]
|
||||||
@ -37,7 +37,7 @@ Pyinotify - 在 Linux 中实时监控文件系统更改
|
|||||||
# dnf install python-pip [On Fedora 22+]
|
# dnf install python-pip [On Fedora 22+]
|
||||||
```
|
```
|
||||||
|
|
||||||
现在安装 pyinotify:
|
现在安装 `pyinotify`:
|
||||||
|
|
||||||
```
|
```
|
||||||
# pip install pyinotify
|
# pip install pyinotify
|
||||||
@ -54,7 +54,7 @@ Pyinotify - 在 Linux 中实时监控文件系统更改
|
|||||||
|
|
||||||
### 如何在 Linux 中使用 pyinotify
|
### 如何在 Linux 中使用 pyinotify
|
||||||
|
|
||||||
在下面的例子中,我以 root 用户(通过 ssh 登录)监视了用户 tecmint 的家目录(**/home/tecmint**)下的改变,如截图所示:
|
在下面的例子中,我以 root 用户(通过 ssh 登录)监视了用户 tecmint 的家目录(`/home/tecmint`)下的改变,如截图所示:
|
||||||
|
|
||||||
```
|
```
|
||||||
# python -m pyinotify -v /home/tecmint
|
# python -m pyinotify -v /home/tecmint
|
||||||
@ -65,21 +65,21 @@ Pyinotify - 在 Linux 中实时监控文件系统更改
|
|||||||
|
|
||||||
*监视目录更改*
|
*监视目录更改*
|
||||||
|
|
||||||
接下来,我会观察到任何 web 目录 (**/var/www/html/tecmint.com**) 的更改:
|
接下来,我会观察到任何 web 目录 (`/var/www/html/tecmint.com`) 的更改:
|
||||||
|
|
||||||
```
|
```
|
||||||
# python -m pyinotify -v /var/www/html/tecmint.com
|
# python -m pyinotify -v /var/www/html/tecmint.com
|
||||||
```
|
```
|
||||||
|
|
||||||
要退出程序,只要点击 `[Ctrl+C]`。
|
要退出程序,只要按下 `Ctrl+C`。
|
||||||
|
|
||||||
**注意**:当你在运行 **pyinotify** 时如果没有指定要监视的目录,`/tmp` 将作为默认目录。
|
**注意**:当你在运行 `pyinotify` 时如果没有指定要监视的目录,`/tmp` 将作为默认目录。
|
||||||
|
|
||||||
可以在 Github 上了解更多 Pyinotify 信息:[https://github.com/seb-m/pyinotify][4]。
|
可以在 Github 上了解更多 Pyinotify 信息:[https://github.com/seb-m/pyinotify][4]。
|
||||||
|
|
||||||
就是这样了!在本文中,我们向你展示了如何安装及使用 pyinotify,一个在 Linux 中监控文件系统更改的有用的 Python 模块。
|
就是这样了!在本文中,我们向你展示了如何安装及使用 `pyinotify`,一个在 Linux 中监控文件系统更改的有用的 Python 模块。
|
||||||
|
|
||||||
你有遇到类似的 Python 模块或者相关的[ Linux 工具/小程序][5]么?请在评论中让我们了解,或许你也可以询问与这篇文章相关的问题。
|
你有遇到类似的 Python 模块或者相关的 [Linux 工具/小程序][5]么?请在评论中让我们了解,或许你也可以询问与这篇文章相关的问题。
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user