检测文件已更改并自动更新的简单方法是什么?

What's an easy way to detect a file has changed and update it automatically?

检测文件已更改并自动更新的简单方法是什么?

例如,如果我有一个刚刚上传的 js/css 文件,我希望服务器检测到我上传了新的 js/css 文件并立即自动将它们缩小。

编辑:我尝试在 运行 时间进行缩小,但发现它效率不高。有趣的是,对于任何请求文件的人来说,文件都被缩小了,这本身就是一种开销,实际上不缩小文件以进行传递会更快。

理想情况下,文件应在上传后几秒钟内缩小。除了不断轮询的系统,是否有我可以研究的基于事件的系统?

编辑:我使用了 mikhailov 答案并将以下内容添加到 incron 文件中:

/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 

Inotify 是一个推荐的模式,用于通知文件系统事件(文件创建、修改或删除),Wikipedia says:

Inotify (inode notify) is a Linux kernel subsystem that acts to extend filesystems to notice changes to the filesystem, and report those changes to applications.

查看类似内容use case:如何在通过 rsync 复制文件时得到通知。