检测文件已更改并自动更新的简单方法是什么?
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 复制文件时得到通知。
检测文件已更改并自动更新的简单方法是什么?
例如,如果我有一个刚刚上传的 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 复制文件时得到通知。