忍者ブログ

ビーキョウのIT

このブログは99%ののほほんと1%のお菓子でできています。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


Java起動シェルスクリプトファイル(sh)

こんちゃ(´・ω・)ノ

シェルスクリプトファイル(sh)から
javaを起動する方法を記述しておく。

★サンプル
バッチサンプル



■ディレクトリ構成
batch
├bin 実行フォルダ
│ ├sample.bat
│ └sample.sh

├conf
│ ├logback.xml ログ設定
│ ├batch.conf Linux用設定ファイル
│ └batch.ini Windows用設定ファイル

├lib ライブラリ
│ ├logback-classic-0.9.18.jar
│ ├logback-core-0.9.18.jar
│ ├slf4j-api-1.5.11.jar
│ └sample.jar

├log ログフォルダ
│ └batch.log

└src/jp/co/test/Sample.java


■シェルスクリプトファイル
#!/bin/sh

echo "########################################"
echo "# 実行プログラム : Sample.class"
echo "# 実行プログラム名 : サンプルクラス"
echo "# 処理内容 : 引数がなければ正常終了"
echo "# 引数があれば異常終了"
echo "# 引数 : パラメータ1"
echo "# 返却値 : 0 [正常終了]"
echo "# : 1 [異常終了]"
echo "########################################"

echo "###########################"
echo "# 環境変数設定"
echo "###########################"


# batch.confファイル読み込み
# BATCH_LIBRARY_PATH : バッチ用ライブラリのパス
# BATCH_CONFIG_PATH : バッチ用設定ファイルのパス
cd `dirname $0`
. ../conf/batch.conf

# クラスパス設定
CLASS_PASS=".:${BATCH_LIBRARY_PATH}/*:${BATCH_CONFIG_PATH}/*"

# 実行するJavaClass指定
export EXECUTE_CLASS="jp.co.test.Sample"

# 各設定値をコマンドプロンプトに表示
echo "${EXECUTE_CLASS}"
echo "${CLASS_PASS}"

echo "###########################"
echo "# Java実行"
echo "###########################"

echo "java -cp ${CLASS_PASS} ${EXECUTE_CLASS} $1"
java -cp "${CLASS_PASS}" "${EXECUTE_CLASS}" $1
RESULT=$?

echo "###########################"
echo "# 返却値"
echo "###########################"

if [ ${RESULT} = 1 ]; then
echo "異常終了" ${RESULT}
exit 1
fi

echo "正常終了" ${RESULT}
exit 0



■解説
基本的にはコメント書いてあるとおりです。

(1)設定ファイル読み込み
batch.confファイルを読み込んで、
設定ファイルとライブラリのディレクトリを取得

(2)CLASS_PASSを設定
クラスパスはJavaプログラムでlibとかによく入っている、
いろんなjarを読み込むためのもの。
まぁ他にもいろいろ役割はあるのだが、
とりあえずそんな感じで覚える。
※java6から「*」での指定が可能になった。

(3)実行クラス指定
シェルから実際に実行するクラスを指定

(4)Java実行コマンド
環境変数でjavaが設定されていて使えること。
直接指定してもいいのだが。
設定されているかどうかは、
コマンドプロンプトから
java -versionコマンドを実行する。
バージョンが表示されれば、設定はされている。

(5)返却値取得
javaの終了時に「System.exit(数値)」で、
バッチやシェルに返却値を返すことが出来る。

拍手[25回]

PR

PPDファイルの入手

こんちゃ(´・ω・)ノ

CUPSサーバ等で使用するPPDファイルの入手法について書いていく。



PPDファイルの入手方法について。


CUPSサーバでは最初からある程度
プリンタドライバ(PPDファイル)が
入っているので、先にそちらを確認してから、
入手したほうがよいかも。



【方法1:ダウンロード】
メーカーのサイトでドライバおよびPPDファイルを提供している。
※一部PPDファイルが見つからないものもある。
※以下のサイトで見つからない場合は
Googleで「EPSON PPD」とかで検索すると、もしかしたら見つかるかも?

■EPSON
http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX

■RICOH
http://support.ricoh.com/bbv2/html/dr_ut_d/ipsio/index.htm

■FUJI XEROX
http://www.fujixerox.co.jp/download/

■Canon
http://cweb.canon.jp/e-support/software/index.html

■HP
http://www8.hp.com/jp/ja/support-drivers.html



【方法2:ドライバから取得】
方法1でPPDファイルが入手できなかった場合、
ドライバの中からPPDファイルを取り出す方法がある。

※PPDファイルはMAC、UNIX、LINUXで基本的に変わらないと思うので、
以下の方法でPPDファイルを入手することができる。

■MACPCがある方
①サイトからMAC用のドライバを入手し、PCに入れる。
②入れたドライバのディレクトリのどこかにPPDファイルがあるはずなので、
それを入手する。

■Windowsがある方
①サイトからWindows用のドライバを入手し、PCに入れる。
②落としたファイル、および入れたドライバのディレクトリのどこかに
PPDファイルがある場合があるので、それを入手する。
※要動作確認。


拍手[0回]


CUPSサーバ構築

こんちゃ(´・ω・)ノ

今回はCUPSサーバを構築していく。

CUPS(Common Unix Printing System)とはUnix,Linux環境での
プリント(印刷)サーバ。

CUPSサーバの設定について記述していきます。
※PPDファイルの入手法については下記URL参照
http://itdata.blog.shinobi.jp/Entry/88/



【CUPS起動】
・サービス起動
# /etc/init.d/cups start
・サービス停止
# /etc/init.d/cups stop
・サービス状態確認
# /etc/init.d/cups status
・プロセス確認
# ps -ef | grep cups



【CUPS自動起動設定】
・自動起動設定
/sbin/chkconfig cups on
・自動起動設定確認
/sbin/chkconfig --list cups
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
※/etc/init.d/cups



【CUPSプリンタ管理】
・CUPSデーモンの確認
# lpstat -r
・デフォルトプリンタ
# lpstat -d
・指定プリンタの確認
# lpstat -p XEROX1_lp
・全プリンタの確認
# lpstat -a
・全ての情報確認
# lpstat -t



【CUPSサーバアクセス】
・/etc/cups/cupsd.confの編集

-----------変更前-------------
Listen localhost:631
(省略)
<Location />
Order allow,deny
</Location>
(省略)
<Location /admin>
Encryption Required
Order allow,deny
</Location>
---------------------------------

-----------変更後-------------
Listen 631
(省略)
<Location />
Order allow,deny
Allow From {自分のIPアドレス}
</Location>
(省略)
<Location /admin>
Encryption Required
Order allow,deny
Allow From {自分のIPアドレス}
</Location>
----------------------------------

・サーバアクセス
以下のURLにアクセス
URL:http://{CUPSサーバのIPアドレス}:631/



【プリンタの設定】
※PPDファイルを使用する場合
PPDファイルをデータディレクトリに配置し、CUPサーバを再起動する。
#cp XXXXXX.ppd /usr/share/cups/model/

①CUPSサーバにアクセスする。
http://{CUPSサーバのIPアドレス}:631/


②[管理]タブから[プリンタの追加]ボタンを押下する。



③「名前」、「場所」、「説明」を入力して[続ける]ボタンを押下する。
※必須は「名前」のみ。


④プリンタのデバイスを選択し、[続ける]ボタンを押下する。
ネットワーク経由でプリンタに接続する場合は、
「LPD/LPR Host or Printer」を選択する。



⑤プリンタのURIを入力し、[続ける]ボタンを押下する。
ここはプリンタの使用に依存するが、
私は「lpd://{プリンタのIPアドレス}」でいけました。


⑥プリンタのメーカ/製造元の設定
メーカを選択し、[続ける]ボタンを押下する。
※1
CUPSがデフォルトである程度プリンタ情報を内部に持っている。

※2
CUPSサーバに該当のプリンタ情報がない場合は、PPDファイルで指定して、
[プリンタの追加]ボタンを押下する。



⑦プリンタのモデル/ドライバの設定
該当プリンタの機種(型版)を選択し、[プリンタの追加]ボタンを押下する。


⑧プリンタ設定の確認
[プリンタ]タブで登録したプリンタ情報を確認できる。
[テストページの印刷]ボタンを押下し、サンプルページが印刷されるか確認する。




【コマンドから印刷】
・プリンタ一覧
# lpstat -a

・印刷
# lp -d プリンタ名 ファイル名
または
# lpr -P プリンタ名 ファイル名



【用語】
・LPD(LPR)
プリンタ制御用プロトコルのLPRプロトコルを受け付ける機能および方式。
・CUPS
MAC、UNIX、LINUX等で印刷機能を提供するプリントサーバ。
・PPD
PostScript用のプリンタ情報を格納したテキストファイル。
・PostScript
Adobe社が開発・提供した印刷用のページ記述言語。
現在はプリンタ標準の言語として広まっている。

拍手[0回]


Solr 4.0 + Tomcat 7 インストール(構築)

こんちゃ(´・ω・)ノ

Solr4.0とTomcat7の組み合わせでの
構築手順を記載するよ!
※そのうちSolr4.0+Jetty(同梱)の手順も書いておこうと思う。

<%SOLR_INST_HOME%>:Solrのインストーラホームディレクトリ
<%SOLR_HOME%>:Solrのホームディレクトリ
<%TOMCAT_HOME%>:TOMCATのホームディレクトリ



【環境】
・Apache Tomcat 7.0.32
・Apache Solr 4.0
・JDK 1.6.0_24



【事前準備】
・Tomcat7を構築済みであること。
Tomcat7のインストール方法はこちらを参照。
http://itdata.blog.shinobi.jp/Entry/84/
私は最初すでに入っていたtomcat7.0.12でやったが
「SetCharacterEncodingFilter」関連の設定で上手くいかず、
tomcat7.0.32でやったら上手くいった。
そのため以下に記載する手順は「SetCharacterEncodingFilter」が
入ってるtomcatでの手順となっています。

・Javaの設定が完了していること。
JDKのインストール
環境変数のPATHおよびJAVA_HOMEの設定

・Solr4.0のダウンロード
http://www.apache.org/dyn/closer.cgi/lucene/solr/4.0.0
「apache-solr-4.0.0.zip」をダウンロードする。



【インストール】
1.解凍
「apache-solr-4.0.0.zip」を解凍する。
解凍してできたディレクトリを<%SOLR_INST_HOME%>とする。

※Solrのディレクトリ構成はこちらを参照
http://itdata.blog.shinobi.jp/Entry/85/


2.solrホームディレクトリの配備
「<%SOLR_INST_HOME%>/example/solr」ディレクトリを
「<%TOMCAT_HOME%>」配下に配置する。
配置したディレクトリを<%SOLR_HOME%>とする。
※<%SOLR_HOME%>自体は他の場所で問題はない。

また、「<%SOLR_INST_HOME%>/contrib」と
「<%TOMCAT_HOME%>/dist」ディレクトリを
<%SOLR_HOME%>の配下に配置する。

3. WARファイルの配備
「<%SOLR_INST_HOME%>/example/webapps/solr.war」を
「<%TOMCAT_HOME%>/webapps」に配置して解凍する。
※上手く解凍できない場合は、solr.warだけを置いて、TOMCATを起動すれば、
自動でデプロイ(解凍)してくれる。

4. tomcat7のsolr用設定
・server.xmlの編集
「<%TOMCAT_HOME%>/conf/server.xml」を編集
「useBodyEncodingForURI」を追加する。
----------------------------------------------------------------------------
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" useBodyEncodingForURI="true"/>
----------------------------------------------------------------------------

・solrのweb.xmlの編集
「<%TOMCAT_HOME%>/webapps/solr/WEB-INF/web.xml」を編集
SolrRequestFilterの手前に追加
----------------------------------------------------------------------------
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
----------------------------------------------------------------------------

・solr.xmlの追加
「<%TOMCAT_HOME%>/conf/Catalina/localhost」にsolr.xmlを作成する。
※ディレクトリが存在しない場合は作成する。
----------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="<%TOMCAT_HOME%>/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="<%SOLR_HOME%>" override="true"/>
</Context>
----------------------------------------------------------------------------

5. solrの設定
・solrconfig.xmlの編集
「<%SOLR_HOME%>/collection1/conf/solrconfig.xml」を編集する。
インデックス用のデータディレクトリと各種ライブラリへのパスを設定する。

----------------------------------------------------------------------------
(省略)
<lib dir="<%SOLR_HOME%>/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="<%SOLR_HOME%>/dist/" regex="apache-solr-cell-\d.*\.jar" />

<lib dir="<%SOLR_HOME%>/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="<%SOLR_HOME%>/dist/" regex="apache-solr-clustering-\d.*\.jar" />

<lib dir="<%SOLR_HOME%>/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="<%SOLR_HOME%>/dist/" regex="apache-solr-langid-\d.*\.jar" />

<lib dir="<%SOLR_HOME%>/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="<%SOLR_HOME%>/dist/" regex="apache-solr-velocity-\d.*\.jar" />
(省略)
<dataDir>${solr.data.dir:<%SOLR_HOME%>/collection1/data}</dataDir>
(省略)
<updateLog>
<str name="dir">${solr.data.dir:<%SOLR_HOME%>/collection1/data}</str>
</updateLog>
----------------------------------------------------------------------------

6.TOMCAT起動
「<%TOMCAT_HOME%>/bin/startup.bat」を実行する。
※linuxの場合はstartup.sh




【操作】
1.管理画面ログイン
以下のURLで管理画面を起動する。
http://localhost:8080/solr/
※IE8だとJavaScriptエラーで表示されませんでした。
※GoogleChrome、FireFoxだと表示されました。


2.Analyse
左メニューから[colection1]-[Analysis]を選択。
Field Value(INDEX)に「庭には二羽ニワトリがいる」と入力
Analyse Fieldname/FieldTypeを「text_ja」に選択
[Analyse Values]ボタンを押下する。
※この時文字化けされずに表示されればOK


3.Query
①現状確認
左メニューから[colection1]-[Query]を選択。
qの部分に「solr」を入力。
indentにチェックを入れる。
[Execute Query]ボタンを押下する。

クエリー: http://localhost:8080/solr/collection1/select?q=solr&wt=xml


文書が登録されている場合のレスポンスはこちら


※GoogleChromeでXML構造を参照するには右クリックから「要素を検証」で一応確認できる。最初からXML構造を表示するにはプラグイン(XML Tree)を入れる。


②文書登録
標準でついているサンプルの
<%SOLR_INST_HOME%>/example/exampledocs/post.jarを使用し、
文書をSolrに登録する。
コマンド:「java -jar post.jar solr.xml」

※1 デフォルトでは「http://localhost:8983/solr/update」にリクエストが送信されるため、
「-Durl」オプションでURLを指定して実行する。
(例)
コマンド:「java -jar -Durl=http://localhost:8080/solr/update post.jar solr.xml」

※2 文書登録検索削除のサンプル作ってみた!( ゚Д゚ )
solrClient.zip
検索、登録、削除ができるよ!
パスワード:「bkyo20121121」



■まとめ
意外と手間取った。
というのもやはり手順を確立し、書きながらだと結構時間かかるね!
今後Solrではjavaのサンプルをいくつか書いて上げていこうと思うので、
そちらもよろしくです。

拍手[8回]


Solr 4.0 ディレクトリ構成と用語



■用語
用語 説明
Apache Lucene 全文検索エンジン
Carrot2 検索結果クラスタリングエンジン、検索結果を分類して表示することが可能
Apache tika javaからHTML、PDF、MSドキュメント等のファイルからデータ解析・抽出が可能
pdfbox javaからPDFを操作するライブラリ
poi javaからMSドキュメントを操作するライブラリ
UIMA 構造化されていないドキュメントを解析して、情報や関連性を抽出する技術
(Unstructured Information Management Architecture)
Apche UIMA Apacheが提供するUIMA
Apache Velocity Javaのテンプレートエンジン。(JSPの変わりにつかえたりする)
Apache ZooKeeper 分散システムに対して、設定情報の集中管理や名前付け等を行う。
Jetty JavaのWebAPサーバ。小型で組み込みなどに適している。
Apache Tomcat JavaのWebAPサーバ。
JBoss JavaのWebAPサーバ。EJB実行可能。Redhat社による有償サポート化も可能。
Apache ManifoldCF web、ファイルサーバ、データベース等から情報を収集(クロール)し、検索サーバ等へデータを渡す。Solrと連携可能。
Fess SolrとS2Robot を組み込んだ日本製の全文検索アプリケーション
S2Robot Seasar2を利用したWeb、ファイルシステム等かあ情報を収集(クロール)するフレームワーム。
Kuromoji javaの日本語形態素解析エンジン。Solr3.6から標準で入っている。

 

拍手[2回]


カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

最新コメント

[11/13 NEX-C3]
[01/24 R]
[07/30 ビーキョウ]
[07/25 unknown]
[06/24 ブログランキング]

最新トラックバック

バーコード

広告

カウンター

ブログ内検索

プロフィール


HN:ビーキョウ
職業:SI屋(PG、SE)
<自己紹介>
ちゃお(´・ω・)ノ
ビーキョウです。
どんどんスキルアップして、 その中で学んだことを忘れないようにメモ代わり的な 感じで記事を書いていこうという考えです。

なので、適当な部分が多々あるとは思いますが、 なにとぞよろしくお願いします
(´ ▽`)

バナーエリア

Copyright ©  -- ビーキョウのIT --  All Rights Reserved
Designed by CriCri / Photo by Geralt / Powered by [PR]
/ 忍者ブログ