Webサイトの製作業をメインにしています。
また、自作ツール[ASSystem]の販売も行っております。
その他Webサービスの運営と、Webに関する幅広い業務を行っています。
また、自作ツール[ASSystem]の販売も行っております。
その他Webサービスの運営と、Webに関する幅広い業務を行っています。
×
固定報酬制
|
〜 5,000円
|
---|---|
納品完了日
|
- |
掲載日
|
2019年04月25日 |
応募期限
|
2019年05月09日 |
必要なスキル
|
応募した人 | 6 人 |
---|---|
契約した人 | 0 人 |
募集人数 | 1 人 |
気になる!リスト | 9 人 |
inotifyというlinuxのツールを使い、特定フォルダの中に何か変更があった際、すべての変更が完了したら 特定のコマンドを実行するという処理を書きたいです。 例えば /data/app フォルダの中で /data/app/test1 /data/app/test2 /data/app/test3 というフォルダを別のところからコピーしてきた際に、3つが完全にコピーが終わったときに(appフォルダ内の処理がすべて終わった際) コマンドを実行したいです。 それぞれtest1,2,3には大量の画像などがはいっているので、イベントが始まった瞬間に実行されると困る。 ここで肝心なのは、app/test1などは app/test1/test1-1/ とかさまざまな可能性があること そして最下層のフォルダには画像が数百枚入っています。 なので、コピー中に inotifyのイベントが発動してしまうと困るんです。 やりたいこととしては、フォルダ内の画像すべてに対してある処理(それ自体はできている)を行うことです。 なのでフォルダ内(/data/app/)にすべてのフォルダ、画像がコピーし終わったと検知してからじゃないとだめなんです。 watch-file.sh /data/app でスクリプトを実行し、 ----------------- [ watch-file.sh ] WATCH_DIR=$1 # 監視するディレクトリ inotifywait -e CLOSE_WRITE -m -r ${WATCH_DIR} --format "%w %f %e" | \ while read LINE; do ここに処理 done ----------------- これでは、すべての画像がコピーされる毎にイベントが検知されてしまいます。 これを解決したいのです。 伝わるでしょうか? なお、私がやりたいことは /data/app/内の書き込みがすべて終わった際に[test.sh]を1回動かす、だけなのでツールにこだわりはありません。 ツールで監視→/data/app/のどこかにファイルなどをコピー→すべて終わってフォルダに書き込みが無い状態→スクリプトを実行 incrontabも試しましたが、あれは再帰的なチェックができなかったので除外しました。 他のツールでもいいです。 centos6で動けば技術にこだわりはありません。 不明点は質問してください。 お願いいたします。 |