web-dev-qa-db-ja.com

フォルダ内の新しいファイルを監視して外部XMLファイルに追加できるようにするスクリプト

私は、ポッドキャストRSSフィードとして機能する個別のXMLファイルに追加できるように、フォルダー内の新しいオーディオファイルを監視します(cronで、その部分をカバーしました:P)。ファイル構造は次のようになります。

- Podcasts
-- Show number one
--- Audio file of the show for week one.mp3
--- Audio file of the show for week two.mp3
-- Show number two
--- Audio file of the show for week one.mp3
--- Audio file of the show for week two.mp3
-- So on

オーディオファイルの作成は、スタジオ内のコンピューターによって自動化され、ubuntuサーバーにアップロードされ、ファイルにパブリックにアクセスできるようになります。今、アイデアは、ボランティアだけがいて怠け者だから、すべてを自動化することです! :)

ここで、スクリプトは「Podcast」への新しいフォルダーと「show number X」フォルダー内の新しいオーディオを監視する必要があります。新しいショーフォルダーがあるたびに、その特定のショーポッドキャスト用の新しいXMLファイルを作成する必要があり、ショーに新しいオーディオがあるたびに、それをショーのXMLに追加する必要があります。

これで、XMLの構造が十分にわかったので、bashスクリプトに関しては完全に暗闇の中にいます。新しいファイルとフォルダーを探すスクリプトを作成するにはどうすればよいですか?スクリプトはXMLファイル内に記述できますか?

よろしく、

iWatchをご覧ください

apt-get install iWatch

Manページから:

iWatch-リアルタイムのファイルシステム監視/指定されたディレクトリ/ファイルの変更を監視

例:

iWatch /tmp -e create -c <your command/script>

説明:

新しく作成されたファイル/フォルダーのフォルダー/ tmpを監視します。新しく作成されたファイル/フォルダーごとに、コマンド/スクリプトを実行します

あなたの場合、このXMLファイルを生成するスクリプトを実行できます。

詳細な答えはお伝えできませんが、より良い答えを得るには良い出発点かもしれません:)

2
Wolfy

BashでXMLファイルを編集する方法は他にもありますが、 XMLStarletのようなもの が役に立つかもしれません。申し訳ありませんが、この回答は私とWolfyに分かれています。

1
djangofan