2

システム レポートに個人用の RSS フィードを使用することを考えているので、その $1 を RSS フィード ala に送信するスクリプトを作成できないかと考えていますself_test_command > rss_report.sh。私も現在 RSS フィードをセットアップしていません。Linux ボックスから実行する RSS フィードをセットアップする最も簡単な方法は何でしょうか?

4

2 に答える 2

6

xmlstarletを使用した別のソリューションがあります。

最初の RSS フィード ファイル feed.xml を作成します。

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>My RSS Feed</title>
    <description>This is my RSS Feed</description>
  </channel>
</rss>

xmlstarletを使用して項目を追加するシェル スクリプトを作成します。

#!/bin/sh

TITLE="My RSS entry"
LINK="http://example.com/entry4711"
DATE="`date`"
DESC="Good news"
GUID="http://example.com/entry4711" 

xmlstarlet ed -L   -a "//channel" -t elem -n item -v ""  \
     -s "//item[1]" -t elem -n title -v "$TITLE" \
     -s "//item[1]" -t elem -n link -v "$LINK" \
     -s "//item[1]" -t elem -n pubDate -v "$DATE" \
     -s "//item[1]" -t elem -n description -v "$DESC" \
     -s "//item[1]" -t elem -n guid -v "$GUID" \
     -d "//item[position()>10]"  feed.xml ; 

もちろん、一般的な解決策を得るには、コマンドラインからパラメーターを渡すことをお勧めします。

-d コマンドは、フィードが無限に大きくならないようにしますが、最大で 10 個のアイテムを持つようにします。

于 2013-01-18T10:53:27.097 に答える
3

に適切な解決策がありますcommand line。バックグラウンドでPerl Template::Toolkitモジュールを使用する (今すぐ Perl を学ぶ必要はありません) :

最初にパッケージperl-template-toolkitをインストールしてから、テンプレート ファイルを作成しますrss.tpl

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>[% title %]</title>
    <description>[% desc %]</description>
  </channel>
  <!-- rest of the RSS -->
</rss>

そして、コマンドを実行します:

tpage --define title=foobar --define desc=description --interpolate rss.tpl

出力は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>foobar</title>
    <description>description</description>
  </channel>
  <!-- rest of the RSS -->
</rss>

ここで変更する完全なテンプレートを見つけることができます

于 2012-10-10T20:21:13.123 に答える