ファイルが保存されたときにスクリプトファイルを自動実行する方法


3

Linuxサーバーでプロジェクトを編集しています。ソースを変更するたびにシェルスクリプトを実行する必要があります。保存アクションをスクリプトファイルにバインドする方法はありますか。ソースを変更するときにスクリプトを手動で実行する必要はありません。

git commitが* .shをフックできるように。zend studioを使用してサーバー上のファイルを編集し、file.itを保存すると、実行中の目的のスクリプトをトリガーできます。


何が本当にしたいことはある再解析ポイント
ガイウス

GruntJSを使用すると、grunt-contrib-watchとgrunt-shellも価値があるかもしれません。
セイリア

回答:


11

inotify形式で使用し、inotify-tools次のようなスクリプトをサーバー上で実行します。

#!/bin/bash
while true 
do 
    inotifywait -e modify /path/to/watched_file.txt && /bin/bash /path/to/your-script.sh
done

これにより、ファイルが書き込まれるたびにスクリプトが実行されますが、-eリストをケースに合わせて調整する必要がある場合がありますman inotifywait

別の方法:gitフックを使用するだけです。


0

このようなことには、cronが非常に便利だと思います。cronと同様に機能します。ユーザーテーブルとシステムテーブルがあり、それらのテーブルにリストされたイベントでトリガーするアクションがあります。そうすれば、ウォッチャーごとに専用のスクリプトを常に実行する必要はありません。

プロジェクトは機能しているわけではありませんが、あまりアクティブではないので、新機能が多すぎることを期待しないでください。また、すべてが普及しているわけではないので、セキュリティホールがいくつかあっても驚くことはありません。重要なマルチユーザーサーバーでユーザーごとのcronテーブルを利用できるようにすることはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.