2017-06-06 10 views
1

Ubuntu 16.04で、指定されたフォルダ/ディレクトリを5分(または指定された時間)ごとに監視し、ファイルが含まれているかどうかをチェックするツールを構築する方法?この仕事をするために学ぶ必要があることは何ですか?私はPythonスクリプトの助けを借りてこれを行うことができますか、私はシェルスクリプトを学ぶ必要があります。linuxでファイルを監視する

答えて

1

イントロンで試してください。 Incronはファイルシステムの活動を監視するためのものです。デーモンとテーブルマニピュレータで構成されています。通常のcronと同様の方法で使用できます。違いは、inotify cronは時間帯ではなくファイルシステムのイベントを処理することです。

+0

フォルダには、5分ごとにインチンンを通してファイルが含まれているかどうかを確認することができます。あなたはインチローンを勉強するためのリンクを共有できます – Blasteraj

+0

https://www.howtoforge.com/tutorial/how-to-run-commands-on-file-or-directory-changes-with-incron-on-ubuntu-16-04/ – Rups

1

私はwatchdogを使用しようとします。大規模なディレクトリツリー内のイベントとその素晴らしいと簡単のために聞くためにそれを数回使用:

import time 
from watchdog.observers import Observer 
from watchdog.events import LoggingEventHandler 

if __name__ == "__main__": 

    path = '.' 
    event_handler = LoggingEventHandler() 
    observer = Observer() 
    observer.schedule(event_handler, path, recursive=True) 
    observer.start() 

    try: 
     while True: 
      time.sleep(1) 
    except KeyboardInterrupt: 
     observer.stop() 

    observer.join() 

このスニペットを使用すると、イベントとして定義されpath以内に起こるすべてを取得します。それらをさらに活用するには、ウォッチドッグのdocumentationにダイビングしてください。

+0

@ fechnertウォッチドッグについての知識を私に加えてくれてありがとうが、フォルダにファイルが含まれているかどうかについて10分ごとに監視したい。ウォッチドッグで可能か?あなたはPythonを通して他の方法を私に提供することができますか?ありがとう – Blasteraj

+0

この場合、['os.walk()'](https://docs.python.org/3/library/os.html#os.walk) – fechnert

関連する問題