使用 Incrond Inotify 但遇到用户组/权限问题

使用 Incrond Inotify 但遇到用户组/权限问题

在 /etc/incron.allow 中我添加了两者:

root
USER_1

然后我编辑了 incrontab,使它看起来像这样:

/var/www/laravel/public/js/main.js IN_MODIFY yui-compressor -o /var/www/laravel/public/js/main.min.js /var/www/laravel/public/js/main.js

我认为这个问题可能与权限或组有关,但我不确定,因为当我检查时我没有得到任何信息tail -f /var/log/syslog

该文件夹归in group/var/www/laravel/public拥有。 Incrond Inotify 是由用户完成的。当 main.js 文件更新时,无论当前用户如何,Incrond Inotify 都不应运行,因为它已由 进行设置?为什么它不起作用以及如何让它与or一起工作?USER_1www-datarootrootrootUSER_1

答案1

这可能是 incron 中 PATH 环境的问题。尝试像这样添加程序的完整路径(我假设yui-compressor位于/usr/bin/

/var/www/laravel/public/js/main.js IN_MODIFY /usr/bin/yui-compressor -o /var/www/laravel/public/js/main.min.js /var/www/laravel/public/js/main.js

找出yui-compressor在终端中运行以下命令的完整路径:

which yui-compressor

如果您遇到损坏的输出文件问题,请考虑使用IN_CLOSE_WRITE而不是IN_MODIFY因为它仅在文件关闭时触发,而不是在每次写入操作时触发。根据您的编辑器处理编辑的方式,这可能更接近您想要的,也可能不接近您想要的。

USER_1编辑:这应该可以在您的帐户下正常工作。只需incrontab -e在登录时在终端中运行USER_1并添加我上面给出的行即可。

相关内容