Đây là lệnh inotify-hookablep có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
inotify-hookable - chặn giao diện dòng lệnh để inotify
SYNOPSIS
Xem một thư mục, cho chúng tôi biết khi mọi thứ thay đổi trong đó:
inotify-hookable --watch-directory / tmp / watch-this
Xem cây git, một số cấu hình và kho lưu trữ nội dung tĩnh, khởi động lại máy chủ web
hoặc nén các nội dung đó nếu có bất kỳ điều gì thay đổi:
inotify-hookable \
--watch-thư mục / etc / uwsgi \
--watch-thư mục / git_tree / central \
--watch-thư mục / etc / app-config \
--watch-thư mục / git_tree / static_assets \
--on-mod-path-command "^ (/ etc / uwsgi | / git_tree / central | / etc / app-config) = sudo /etc/init.d/uwsgi restart" \
--on-mod-path-command "^ / git_tree / static_assets = (cd / git_tree / static_assets &&ression_static_assets)"
Hoặc xem các tệp cụ thể:
inotify-hookable \
--watch-files / var / www / cgi-bin / mod_perl_handler \
--on-mod-command "apachectl restart"
MÔ TẢ
Chương trình dòng lệnh đơn giản này là sự thay thế của tôi cho chức năng được cung cấp bởi
Tập tin của Plack :: Thông báo :: Đơn giản. Tôi thấy rằng trên những cây git rất lớn, Plack sẽ dành một
inordinate số lượng xem hệ thống tệp để biết các thay đổi.
Chương trình này sử dụng Linux :: Inotify2, vì vậy hạt nhân sẽ thông báo ngay lập tức Khi cái gì
thay đổi (thực sự là quá nhanh nên chúng tôi phải xem xét tốc độ nó gửi các sự kiện cho chúng tôi).
Kết quả là bạn có thể chạy điều này, ví dụ như trong một phiên màn hình và để nó xem
môi trường phát triển và máy chủ web của bạn sẽ bắt đầu khởi động lại trước khi bạn
rời khỏi tiết kiệm .
các tệp tạm thời vim và emacs bị bỏ qua theo mặc định (xem "--ignore-path".) nên bạn có thể
chỉnh sửa tệp của bạn mà máy chủ của bạn không cần khởi động lại một cách không cần thiết.
Hiện tại, giao diện dòng lệnh cho điều này là giao diện duy nhất thực sự có ý nghĩa,
mô-đun này hoàn toàn bị chặn (mặc dù nó có thể chạy trong một quy trình khác thông qua
POE hoặc cái gì đó). Các bản vá lỗi được chào đón.
LỰA CHỌN
Lưu ý rằng các tùy chọn boolean có thể bị phủ định bằng "--no-OPTION", ví dụ: "--no-r" hoặc
"--no-recursive" để tắt tùy chọn "--recursive" được bật theo mặc định.
"-w" or "--watch-thư mục"
Chỉ định điều này để xem một thư mục, bạn có thể đưa nó vào bất cứ lúc nào bạn muốn xem
rất nhiều thư mục.
"-NS" or "--watch-files"
Xem một tệp, chỉ định nhiều lần cho nhiều tệp. Bạn có thể xem các tệp và
các thư mục trong cùng một lệnh.
"-NS" or "--recursive"
Nếu bạn cung cấp thư mục này, bất kỳ thư mục nào bạn cung cấp sẽ được theo dõi một cách đệ quy. Điều này được bật bởi
mặc định.
"-NS" or "--on-mod-command"
Một lệnh sẽ được chạy khi một cái gì đó được sửa đổi.
"-NS" or "--on-mod-path-command"
Một cặp khóa-giá trị trong đó khóa là một regex sẽ được khớp với một đường dẫn đã sửa đổi và
giá trị là một lệnh sẽ được chạy. Xem "SYNOPSIS" để làm ví dụ.
Hữu ích, ví dụ: khởi động lại máy chủ web nếu bạn sửa đổi thư mục A nhưng nén một số
nội dung tĩnh nếu bạn sửa đổi thư mục B.
"-NS" or "--buffer-time"
Linux sẽ gửi cho bạn các sự kiện thông báo có thật không nhanh, nhanh đến mức nếu bạn chạy một cái gì đó như:
chạm vào thanh foo
Bạn có thể nhận được một sự kiện cho foo trong một đợt, tiếp theo là một sự kiện cho thanh sau này.
Để giải quyết vấn đề này, chúng tôi nhập một vòng lặp khi chúng tôi bắt đầu nhận các sự kiện và chuyển sang chế độ ngủ mặc định
100 micro giây, miễn là chúng ta tiếp tục nhận được các sự kiện, chúng ta tiếp tục ngủ trong 100 micro giây,
nhưng ngay sau khi chúng tôi không nhận được bất kỳ điều gì mới, chúng tôi sẽ loại bỏ các trình xử lý sự kiện của mình.
"-TÔI" or "--ignore-path"
Regexes cho các tệp / thư mục để bỏ qua các sự kiện. Theo mặc định, điều này được đặt thành regexes cho
vim và emac lần lượt là các tệp tạm thời, "qr {\ .. * sw. \ z}" và "qr {\. \ # [^ /] + \ z}".
Các regexes khớp sau bất kỳ "/" nào trong đường dẫn hoặc phần đầu của chuỗi.
"-NS" or "--debug"
Tốc độ ra một số đầu ra gỡ lỗi dài dòng trong khi chạy.
NHÌN NHẬN
Mô-đun này ban đầu được phát triển tại và cho Booking.com. Với sự chấp thuận từ
Booking.com, mô-đun này đã được khái quát hóa và đặt trên CPAN, mà các tác giả muốn
để bày tỏ lòng biết ơn của họ.
Sử dụng inotify-hookablep trực tuyến bằng các dịch vụ onworks.net