What'这是一种检测文件更改并自动更新的简单方法


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是这样说的:

Inotify (inode notify)是一个用于扩展的Linux内核子系统注意文件系统的更改,并报告这些更改应用程序的更改。

参见类似的用例:如何获得通过rsync复制文件的通知