在 /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_1
www-data
root
root
root
USER_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
并添加我上面给出的行即可。