centos

CentOS inotify 与 cron 任务的联动使用

小樊
95
2025-02-12 02:37:10
栏目: 智能运维

在 CentOS 系统中,inotify 和 cron 任务可以一起使用,以便在文件或目录发生变化时自动执行某些任务

  1. 安装 inotify-tools:

首先,确保已经安装了 inotify-tools。如果没有,请运行以下命令来安装:

sudo yum install inotify-tools
  1. 创建一个 shell 脚本:

创建一个名为 inotify_cron.sh 的 shell 脚本,用于处理 inotify 事件。在这个脚本中,你可以添加需要在文件或目录发生变化时执行的命令。

例如,以下脚本会在 /path/to/your/directory 目录中的文件发生变化时,将事件信息发送到你的邮箱:

#!/bin/bash

DIRECTORY="/path/to/your/directory"
EMAIL="your-email@example.com"

inotifywait -m -r -e modify,attrib,close_write,move,create,delete --format '%w%f %e' "${DIRECTORY}" | while read FILE_EVENT
do
    echo "File event: ${FILE_EVENT}" | mail -s "Inotify Alert" "${EMAIL}"
done

确保为脚本设置可执行权限:

chmod +x inotify_cron.sh
  1. 设置 cron 任务:

现在,你需要设置一个 cron 任务,以便定期运行 inotify_cron.sh 脚本。运行以下命令来编辑当前用户的 crontab 文件:

crontab -e

在打开的编辑器中,添加以下行以每分钟运行一次 inotify_cron.sh 脚本:

* * * * * /path/to/inotify_cron.sh

保存并关闭编辑器。现在,cron 任务将每分钟运行一次 inotify_cron.sh 脚本,并在检测到文件或目录变化时执行相应的操作。

注意:根据实际需求调整 inotifywait 参数和 cron 任务的时间间隔。

0
看了该问题的人还看了