watcherd-用于Linux上目录更改的Shell侦听器
时间:2020-03-05 15:30:10 来源:igfitidea点击:
在本文中,我将向我们介绍称为watcherd的shell目录侦听器。
守护进程监视程序将检查目录更改并执行指定的命令或者Shell脚本。
安装watcherd
在Ubuntu 16.04上
下载
$wget https://github.com/devilbox/watcherd/archive/master.zip
解压缩档案
$unzip master.zip
如果我们尚未安装解压缩,请执行
$sudo apt-get install unzip
并复制到'/usr/bin /'
$sudo cp watcherd-master/watcherd /usr/bin/
用法
现在我们可以使用'--help'标志执行
$watcherd --help
让我们创建一个名为test的目录,并使watcherd正常工作
$mkdir test
现在开始使用简单的参数进行监视
$watcherd -v -p ~/test -a "echo added %n" -d "echo deleted %n" -t "ls -l ~/test" &
关于观察者参数的一些提示
- '-v'详细输出
- 目录的“ -p~/test”路径
- '-a“已添加回显%n”'如果在路径中创建了任何目录,则执行'“已添加回显”'
- '-d“回显已删除%n”'如果路径中已删除任何目录,则执行'“回显已删除”'
- '%n'将替换为目录名,或者我们可以使用'%p'获取创建或者删除目录的完整路径
- 触发后,'-t“ ls -l~/test”'执行命令
- “&”在后台运行
并检查它是否正在运行
$ps ax | grep watcherd
现在我们可以尝试在测试文件夹中创建一个名为“ aaa”的新目录
$mkdir test/aaa
正如我们看到的,在创建目录'aaa'后,watcherd执行了“ echo add aaa”,我们收到了watcherd冗长的消息,其中添加了新目录及其完整路径和'ls -l'触发器输出。
现在,我们删除该目录并检查输出
$rm -r test/aaa
仅使用'echo delete aaa'我们得到了相同的输出。
但是,除了执行“ echo”操作外,我们还可以其中执行任何shell命令或者运行任何脚本。
此守护程序对于nginx或者apache之类的Web服务器非常有用,用于监视上的新文件夹,创建新的配置文件并重新启动Web服务器。