Linux监听系统文件(三)——重启后自动监听

        前面的命令只能在系统启动的过程中监听,本篇介绍重启后自动监听,为了在系统重启后自动开始监听文件,你可以将监听命令设置为系统启动时自动执行。这里有几种方法可以实现这一点:

使用 systemd 服务

        你可以创建一个自定义的 systemd 服务来在启动时自动监听文件。

        创建一个 systemd 服务文件

        1. 创建一个脚本来执行监听操作。例如,创建一个脚本 `/usr/local/bin/file_monitor.sh`:

 #!/bin/bash
   inotifywait -m -e open /path/to/your/file

           别忘了给这个脚本执行权限:

sudo chmod +x /usr/local/bin/file_monitor.sh

        2. 创建一个 systemd 服务文件,例如 /etc/systemd/system/file_monitor.service:   

   [Unit]
   Description=File Monitor Service
   After=network.target

   [Service]
   ExecStart=/usr/local/bin/file_monitor.sh
   Restart=always
   User=root

   [Install]
   WantedBy=multi-user.target

3. 重新加载 systemd 配置并启用服务:

sudo systemctl daemon-reload
sudo systemctl enable file_monitor.service
sudo systemctl start file_monitor.service

使用 /etc/rc.local 文件

        对于较旧的Linux系统或某些特定的发行版,你可以在 /etc/rc.local 文件中添加监听命令,使其在启动时执行。

        1. 编辑 /etc/rc.local 文件(如果文件不存在,可以创建一个):

sudo nano /etc/rc.local

        2. 在文件中添加你的监听命令:

  #!/bin/bash
   inotifywait -m -e open /path/to/your/file &
   exit 0

        3. 确保 /etc/rc.local 文件是可执行的:

 sudo chmod +x /etc/rc.local

使用 crontab

        你也可以使用 crontab 来在系统启动时执行监听脚本。

        1. 编辑 root 用户的 crontab 文件:

sudo crontab -e

        2. 添加以下行来在系统启动时执行脚本:

@reboot /usr/local/bin/file_monitor.sh

实例

        假设你想在系统启动时监听文件 /tmp/testfile 的访问,可以这样做:

        1. 创建脚本 /usr/local/bin/file_monitor.sh:

 #!/bin/bash
   inotifywait -m -e open /tmp/testfile

        2. 创建 systemd 服务文件 /etc/systemd/system/file_monitor.service:

   [Unit]
   Description=File Monitor Service
   After=network.target

   [Service]
   ExecStart=/usr/local/bin/file_monitor.sh
   Restart=always
   User=root

   [Install]
   WantedBy=multi-user.target

        3. 重新加载 `systemd` 配置并启用服务:

   sudo systemctl daemon-reload
   sudo systemctl enable file_monitor.service
   sudo systemctl start file_monitor.service

        通过这种方式,无论系统重启多少次,`inotifywait` 都会在启动过程中自动开始监听你指定的文件。、

Linux监听系统文件(四)——日志输出-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值