Thursday, April 2, 2009

reverse terminal design

reverse terminal design

server side:
keep trying to connect to a https service of client host.
after connect to https service of client, start a terminal and redirect stdin/stdout/stderr to the https channel.

client side:
start a https service recieve the connection request of waiting server side.
after connection recieved, start web based terminal(js), show the output and send the input.

美女放談:高橋 愛 x 細川 佳代子

色々と経験のある女性はやはり魅力がある。
鋭くあいての考えを察知して、
相手を尊重ししてやさしく認めながら、
自身の本音を打ち明けることで相手の心を開いていく。
やさしさと癒しさあふれる対談だ。

その対話はこのようにメモしておいた:

高橋:自分がすきか?
細川:自分のできないところ認めたらいいんではないか?

高橋:結婚するか?
細川:した方がいいと思う。自然と本能を受け入れる。

当時は夢いっぱい、拒絶した。
2回目出会ったのはたまたまローマ、必要なのは君の元気とサポートだ。
良妻賢母(りょうさいけんぼ)

おない同士で、喧嘩はお互いに譲らなくて
できるなら夫立てるほうが幸せ。
伝統で女性の生きがいが出てくる。

高橋:リーダのあるべき姿
細川:自覚があるだろう
いい形なりつつ
自分らしさを出して、女性のやさしさにみんながついていく

細川氏が首相になって、しぬほど大変忙しい。
やめてほしい。
有閑の週末。

一番つらかったのが政治家の妻として
一軒ずつ挨拶して地盤を作ってた。

人間は壁にぶつかって、苦労して、壁を越えて成長していく。
どんどん壁にぶつかっていけば、いつか花は咲く。
心なかの格闘があるが、その試練を乗り越えば、すばらしい人生がくる。

細川:ボランティア
今のボランティア宣伝は
感謝を人にお返しすると、感謝の連鎖が起こる。
愛があふれて、暖かさがあふれる世界になる。

Metric LOC

Metrics Utility
http://csx.jp/~marunomaruno/practice_programming_java01.html?c=appendix

CCCC - $0

CCCC is a tool which analyzes and generates a report on various metrics of the code. Metrics supported include lines of code, McCabe's complexity and metrics proposed by Chidamber & Kemerer and Henry & Kafura.

Languages: C++, Java
USC CodeCount and USC COCOMO- $0

CodeCount automates the collection of source code sizing information. The CodeCount toolset utilizes one of two possible source lines of code (SLOC) definitions, physical or logical. COCOMO (COnstructive COst MOdel), is a tool which allows one to estimate the cost, effort, and schedule associated with a prospective software development project.

Languages: Ada, Assembly, C, C++, COBOL, FORTRAN, Java, JOVIAL, Pascal, PL1
SLOCCount - $0

SLOCCount is a set of tools for counting physical Source Lines of Code (SLOC) in a large number of languages of a potentially large set of programs. SLOCCount can automatically identify and measure many programming languages.

Languages: Ada, Assembly, awk, Bourne shell and variants, C, C++, C shell, COBOL, C#, Expect, Fortran, Haskell, Java, lex/flex, LISP/Scheme, Makefile, Modula-3, Objective-C, Pascal, Perl, PHP, Python, Ruby, sed, SQL, TCL, and Yacc/Bison.
SourceMonitor - $0

SourceMonitor lets you see inside your software source code to find out how much code you have and to identify the relative complexity of your modules. For example, you can use SourceMonitor to identify the code that is most likely to contain defects and thus warrants formal review. Collects metrics in a fast, single pass through source files. Displays and prints metrics in tables and charts.

Languages: C++, C, C#, Java, Delphi, Visual Basic (VB6) or HTML
LOCC - $0

LOCC is an extensible system for producing hierarchical, incremental measurements of work product size that are useful for estimation, planning, and other software engineering activities. LOCC supports size measurement of grammar-based languages through integrated support for JavaCC. LOCC produces size data corresponding to the number of packages, the number of classes in each package, the number of methods in each class, and the number of lines of code in each method.

Languages: C++, Java
NDepend - $0

NDepend is a tool for .NET developers and architects. It analyses assemblies and source code of .NET applications and generates reports which contain design quality metrics, warnings and advices and diagrams.

Languages: .NET, C#
Eclipse Metrics Plugin - $0

Eclipse Metrics Plugin is a metrics calculation and dependency analyzer plugin for the Eclipse platform. Measure various metrics with average and standard deviation and detect cycles in package and type dependencies and graph them.

Languages: Java
Code Counter Pro - $25

Code Counter Pro is perfect for those reports you need to send to your boss - count up all your progamming lines (SLOC, KLOC) automatically, find out your team's productivity, use as handy help for measuring Function Points through Backfiring, measure comment percentages and more.

Languages: ASM, COBOL, C, C++, C#, Fortran, Java, JSP, PHP, HTML, Delphi, Pascal, VB, XML
SLOC Metrics - $99

SLOC Metrics measures the size of your source code based on the Physical Source Lines of Code metric recommended by the Software Engineering Institute at Carnegie Mellon University (CMU/SEI-92-TR-019). Specifically, the source lines that are included in the count are the lines that contain executable statements, declarations, and/or compiler directives. Comments, and blank lines are excluded from the count. When a line or statement contains more than one type, it is classified as the type with the highest precedence. The order of precedence for the types is: executable, declaration, compiler directive, comment and lastly, white space.

Languages: ASP, C, C++, C#, Java, HTML, Perl, Visual Basic
Resource Standard Metrics - $200

Resource Standard Metrics, or RSM, is a source code metrics and quality analysis tool unlike any other on the market. The unique ability of RSM to support virtually any operating system provides your enterprise with the ability to standardize the measurement of source code quality and metrics throughout your organization. RSM provides the fastest, most flexible and easy-to-use tool to assist in the measurement of code quality and metrics.

Languages: C, C++, C#, Java
SD C# Metrics - $250

Semantic Designs C# Metrics tool computes a number of useful metrics for C# program source code suites. Metrics computed at module level: Source Lines of Code (SLOC), Noncommented Source Lines of Code, Comment Lines, Number of Methods, Decision Density, Cyclomatic Complexity, Maximum loop nesting, Maximum conditional nesting, Halstead measures (volume, difficulty, effort, operators and operands), Software Engineering Institute (SEI) Maintainability Index, and Class and File counts.

Languages: C#
Understand for C++ - $495

Understand for C++ is a reverse engineering, documentation and metrics tool for C and C++ source code. It offers code navigation using a detailed cross reference, a syntax colorizing "smart" editor, and a variety of graphical reverse engineering views. Understand for C++ is an interactive development environment (IDE) designed to help maintain and understand large amounts of legacy or newly created source code.

Languages: C, C++
EZ-Metrix - $495

EZ-Metrix supports software development estimates, productivity measurement, schedule forecasting and quality analysis. With an easy Internet-based interface, multiple language support and flexible licensing features, you will be up and running in minutes with EZ-Metrix. Measure source code size from virtually all text-based languages and from any platform or operating system with the same utility. Size data may be stored in EZ-Metrix's internal database or may be exported for further analysis.

Languages: Ada, ALGOL, antlr, asp, Assembly, awk, bash, BASIC, bison, C, C#, C++, ColdFusion, Delphi, Forth, FORTRAN, Haskell, HTML, Java, Javascript, JOVIAL, jsp, lex, lisp, Makefile, MUMPS, Pascal, Perl, PHP, PL/SQL, PL1, PowerBuilder, ps, Python, Ruby, sdl, sed, SGML, shell, SQL, Visual Basic, XML, Yacc
CMT++ Complexity Measures Tool - $1200

CMT++ Complexity Measures Tool gives estimates how error prone the program source code is due to its complexity, how long it will take to understand the code, what is the logical volume of the code, etc. The code complexity is known to correlate with the defect rate and robustness of the application program.

Languages: C, C++
McCabe IQ - $ unknown

McCabe IQ enables you to deliver better, more reliable software to your end-users, and is known worldwide as the gold standard for the analysis, comprehension, testing, and reengineering of new software and legacy systems. McCabe IQ uses advanced software metrics to identify, objectively measure, and report on the complexity and quality of your code at the application and enterprise level.

Languages: Ada, ASM86, C, C#, C++.NET, C++, COBOL, FORTRAN, Java, JSP, Perl, PL1, VB, VB.NET
Semantic Designs - $ unknown

Semantic Designs provides extremely generalized compiler technology and services that can be used, for arbitrary mixes of computer languages, to implement: 1) Software Enhancement and Reengineering: Legacy System Migration, Legacy Modernization, Legacy Language Parsers, Software Transformation Tools, Massive Regular Change to Sources, Software Reengineering Tools 2) Source Code Documentation: Source Code Formatters, Source Code Obfuscators, Source Code Browsers, Hyperlinked System Cross Reference, 3) Software Quality Assessment: Software Metrics Tools, Coding Standards Checkers, Software Quality Analyzers, Test Coverage Tools, Performance Profiling Tools, Source Code Instrumentation, Fact Extraction, Custom Code Analyzers 4) Software Quality Improvement: Redundant Code Detection and Removal, Dead Code Detection and Removal, Source Code Restructuring Tools, Refactoring Tools, HTML analysis and transformation tools, XML analysis and optimization tools, Code Optimization Tools, Specification Language Analyzers, 5) Code Generation Automated Code Generation, Specification Language Translators, Custom Compilers for Legacy Languages, Domain-Specific Language Compilers, Parallel Programming Tools and Languages, 6) Hardware Description Languages Custom HDL Analyzers, Custom HDL Transformers, Intellectual Property Protection, Co-design Tools

ファイル同期ソフト

方法

rsync
mirror.pl
web storage soft: DropBox


---
http://qwerty777.s57.xrea.com/winunix/double.htm

#
rsync 2006年7月20日追加

 rsyncは ファイルを同期するためのソフトウェアですが、 ネットワーク上で使用するためにsshと併用されます (参考: rsync と ssh でミラーリングアップロード:Landscape 2006-01-10)。 cwRsyncは 最小限のCygwinを含んだWindows用のrsyncとsshのパッケージです。

---
http://www.double-h.com/linux/tipsmemo/others/general01.html

Miscellany Top > Linux Memo > backup by rsync
Backup by rsync (+ssh)

2000.12.8 updated

Linux/UNIX 上のデーターを(別の Linux/UNIX マシンに)バックアップしたり、2つのマシンのあるディレクトリどうしの内容を同期するのに、どうしているでしょうか?私の場合、以前は NFS でマウントして、cp -a (コピー)したりしていたのですが、環境が変わってから NFS を利用できなくなってからは、rsync を使うようになりました。

この rsync によるバックアップというのは、使うまでは「設定その他が必要で面倒そう...」と思っていたのですが、実際にやってみると手動でバックアップ・同期するだけなら設定も必要なく、あっさり使えました。

また、ssh と併用することでポートフォワーディング先のマシンやインターネットの先にあるマシンともバックアップ・同期が取れますので、便利なことこの上ないのです。scp でコピーするよりも高速ですしね(rsync はデフォルトでは rsh を利用します)。

というわけで、手抜き大好きユーザーのための rsync + ssh 利用バックアップ方法を簡単に書いておきます。
利用するための環境

バックアップ元のマシン、バックアップ先のマシンともに、

* rsync がインストールされている
* ssh がインストールされている(ssh を利用せずに rsh を利用する場合には ssh は不要)

必要があります。

最近の Linux などの FreeUNIX 環境ならば、rsync は最初からインストールされているか、パッケージが用意されているでしょう。Kondara MNU/Linux の場合は普通にインストールすれば最初からインストールされていることが多いでしょうし、インストールされていない場合には、Binary CD (Install CD) に含まれています。Vine/Linux の場合は、オプショナルパッケージ集である VinePlus にパッケージがあります。

ssh に関しては、最近は OpenSSH (+ OpenSSL) が利用されることが多いようです。Kondara 1.1/1.2/2000 の場合には NonFree 扱いですので、商用版CDや雑誌添付CDには含まれておらず、FTP サイトからダウンロードする必要があります。Vine/Linux の場合には VinePlus に含まれています。OpenSSH をインストールするには、OpenSSL を一緒に(または事前に)インストールする必要があります。

これらをバックアップ元、バックアップ先のマシンの両方にインストールし、その後少なくともバックアップ元からバックアップ先のマシンに ssh でログインできる環境になっていることが必要です(ssh を利用しない場合は rsh でログインできる必要がある)。
バックアップ方法

バックアップ元のマシンから

rsync -avz -e ssh (バックアップ元ディレクトリ) (バックアップ先マシン名):(バックアップ先ディレクトリ)

を実行するだけです。例えば、バックアップ元の /home/test 以下の内容をバックアップ先のマシン filesrv の /home/backup 以下にバックアップするときは、

rsync -avz -e ssh /home/test/ filesrv:/home/backup/

とします。ssh を利用せず、rsh で行う場合には -e ssh は不要です。もちろん、バックアップ先ディレクトリに書き込める権限が必要となります。

コマンド入力後、パスフレーズまたはパスワードを聞かれるので、それに答えた後にバックアップが始まります。バックアップするファイル数が多いとバックアップ開始まで少々時間がかかりますが、バックアップ速度は単純に scp するよりはるかに高速です。

当然のことながら、2回目以降の実行時にはファイルのタイムスタンプを比較して更新されたファイル、追加されたファイルのみバックアップされます。

この方法では、2回目以降の実行時にバックアップ元で更新されたファイル、追加されたファイルだけがバックアップ先にコピーされますが、削除されたファイルはバックアップ元でそのままになります。バックアップ元で削除されたファイルは、バックアップ先でも削除したい場合には

rsync -avz -e ssh --delete (バックアップ元ディレクトリ) (バックアップ先マシン名):(バックアップ先ディレクトリ)

と、--delete オプションを付加します。これでバックアップ元で削除されたファイルは、バックアップ時にバックアップ先でも削除されますので、バックアップ元とバックアップ先が完全に同期されます。
rsync の主要なオプション

独断と偏見で、よく利用するようなオプションを以下に挙げておきます。その他豊富なオプションについては、man rsync で参照のこと。

* -v バックアップ時にバックアップしているファイル名を表示する
* -r 指定したディレクトリ以下の各ディレクトリも再帰的にバックアップする
* -l シンボリック・リンクをそのままにバックアップする(シンボリック・リンク先の内容をコピーせずにリンクのままコピー)
* -H ハード・リンクをそのままにバックアップする
* -p パーミッション属性を保存したままバックアップする
* -o 所有者属性を保存したままバックアップ(root のみ可能)
* -g グループ属性を保存したままバックアップ
* -t タイムスタンプを保存したままバックアップ
* -D デバイスファイルを保存したままバックアップ(root のみ可能)
* -z データーを圧縮して転送する
* -u 追加されたファイルだけバックアップする
* --existing 更新されたファイルだけをバックアップし、追加されたファイルはバックアップしない
* --delete バックアップ元で削除されたファイルはバックアップ先でも削除する
* --exclude 'PATTERN' PATTERN で指定したパターンにマッチするファイルはバックアップしない
* -a 上記のオプションのうち rlptgoD を指定する

これらのオプションを利用すれば、だいたい思うようにバックアップすることができるでしょう。通常は、a オプションに v, z, --delete, --exclude を利用すれば事足りるのではないかと思います(--exclude は *~ や *.bak を指定することで、エディタなどが作った予備バックアップファイルが除外される)。
定期的なバックアップ、同期

rsync を --deamon オプションをつけて起動することで、rsync サーバーとして利用可能になります。この場合、/etc/rsyncd.conf に利用するための設定を書くことになります。

ただ、頻繁に同期を必要としないような利用法、ちょっとした個人的なバックアップや同期なら手動でやるか、cron でやらせた方がお手軽だと個人的には思います。

---
http://lunatear.net/archives/000273.html

LunaTear
[Site Map] Linux系関係が中心になりそうな日記
« Sleipnir用リンク作成Script | メイン | rootkit hunter »
2004年04月12日
ディレクトリ同期
[ Linux管理・運用]
マシン間でファイル同期をさせるのにいまいち良いソフトが見つからず困って居たところunisonというソフトを発見したので試してみました。
同期ソフト自体はそれこそたくさんあるのですが、片方同期(と言うよりはバックアップ)メインだったり、両方同期があっても削除したファイルが同期相手からレストアされて同期中のディレクトリにゴミファイルが溜まっていく一方とかどうにも使い勝手が悪いものばかりでした。

そんなこんなで困っていたところ、それを解決出来そうなunisonというアプリがあることを知ったので、インストールして試してみることにしました。

で、ローカルでテストしてみたところまさに理想の挙動をしたので早速採用することにしました。

ちなみにUnisonの特徴は以下の通り

* GUI版もあるが基本的にはコマンドラインベース
* rsyncアルゴリズムを用いた高速な同期
* 前回同期時の状況を記録しているため、増減したファイルを的確に割り出して、コピーや削除してくれる
* コンフリクトした場合の処理をいろいろと選べる

それで、とりあえず同期相手のLinuxの方にも入れて見ることにしました。
動かすだけならダウンロードページからコンパイル済み実行ファイルをダウンロードして、パーミッションを755にすればそれだけで動きます。
が、折角ならソースからコンパイルしようと思い「src.tar.gz」をダウンロードして展開→Makefileでインターフェースをどうするかなどの設定をいじってからmakeしてみると、ocamlcが無いと怒られてしまいました。

使っていたディストリビューションにはcoamlのパッケージが無かったためここから「ocaml-3.05-1.src.rpm」をダウンロードしてrpmbuildしてインストール。

その後unisonをmakeしてみたところ、今度は無事makeに成功( ̄▽ ̄)ノ

で、折角なんでcheckinstallでrpmにして入れようかと思ったら、なんか循環エラーが出るため、断念して、出来上がったunisonの実行ファイルだけシステムディレクトリに移動してインストール終了としました。

で、早速使ってみる事にします。
今回はサーバ側がLinuxでクライアント側がWindowsのcygwin環境です。

まず、これまでcygwin上で

rsync -auvz -e ssh --delete user@hoge.foo.bar:/home/user/datadir/ /cygdrive/c/datadir/
rsync -auvz -e ssh /cygdrive/c/NewDatafile/ user@hoge.foo.bar:/home/user/datadir/
mv /cygdrive/c/NewDatafile/ /cygdrive/c/datadir/

となっていたシェルスクリプトを以下のように修正

unison /cygdrive/c/datadir/ ssh://user@hoge.foo.bar/datadir -batch -prefer older<\pre>

して実行してみると、見事に同期しました。( ̄▽ ̄)ノ
(なお「-prefer older」はコンフリクトしたら古い方を生かすという設定です<上記のケースでは古いファイルの方が重要な事が多かったので)

で次のテスト
これまでは自動削除の為に、cygwin側で新しく作ったファイルは一度「c:\NewDatafile」というディレクトリにおいて、同期してからデータディレクトリに移動してましたが、これだと同期前と同期後でファイルの場所が異なってしまい、ソフトなどの履歴機能が使いにくい状況でしたが、 unisonを使えば解決出来るはずです。

そこで、早速ゴミファイルを同期させてから、クライアント側で削除してから再び同期してみました。
すると、見事にクライアント側でもサーバ側でもゴミファイルが削除されました(≧▽≦)ノ

CUIな辺りも正直バッチでしょっちゅう流すものがGUIっていうのはイヤだったのでありがたいですしssh使って暗号化も出来、セキュリティも安心なのでunisonとは長いつきあいになりそうです(笑)

参考URL:

*
unison - PC説教講座
*
unison/References/Preferences - PC説教講座

Posted by Takuchan at 2004年04月12日 16:28 | トラックバック(2)
コメント - この記事にコメントする
この記事にコメントする

---
共有ツールDropBox


Heartlogic ネットを通じた自己表現、コミュニケーションを研究するサイト

* デジカメ・写真
* モバイル・クラウド
* Web制作
* Web社会
* 散歩
* その他
* このサイトについて

* Heartlogic
* モバイル・クラウドコンピューティング
* 究極のファイル同期・共有サービス「Dropbox」が一般公開。Linux/iPhone対応

究極のファイル同期・共有サービス「Dropbox」が一般公開。Linux/iPhone対応

ずっとクローズド招待制で運営されてきたファイル同期・共有サービス「Dropbox」が一般公開になったとのこと。

Dropbox launches to the public! : The Dropbox Blog

以前に招待をいただいて利用し始めて以来「無くなったら死んじゃうWebサービス選手権」首位に輝き続けているサービスです。以前の記事→「Dropbox」がとてもいいらしい

「Dropbox」の凄いところは、端末へのソフトのセットアップとアカウントの作成さえ済ませてしまえば、後は別になーんにも考えていなくても特別な操作をしなくても、自動、かつ、あっという間に「My Dropbox」フォルダ以下のファイルを同期してくれること。

同期速度もやたらめったら速く。2台のマシンを並べて作業している場合、マシンAの「My Dropbox」に保存したファイルは一瞬後にはマシンBにも(サーバー経由で)同期される。サーバー経由だから同期忘れとかもない。オフライン時には普通のローカルフォルダとして使えるし、次にオンラインになった時、ソッコー(もちろん自動で)同期される。

しかも、サーバー上では履歴管理もしてくれるので、うかつに上書きや削除してしまった場合でも復帰が可能。すばらしい。一度これで命拾いした。

Dropboxのブログを斜め読みしたところによると、

* 公開版にしたよ
* Linux版のクライアントも作った
* 来週には有料オプションを始めるよ(50GBが月額$9.99/年額$99.99)
* 2GBのサービスは今までどおり無料だよ
* iPhone向けUIも公開した→https://www.getdropbox.com/からアクセス可能

iPhone向けページは、その場でPDFやOffice 2007文書も開けてしまうのが便利すぎてヤバい。写真を見るインターフェースも整っている。そして50GBも使えたら写真や動画もガンガン保存できるし、便利すぎて鼻血出そうだ。

追記:セットアップ方法の説明記事作りました
→ファイルの同期・共有・バックアップに使えるオンラインストレージ「Dropbox」 - できるネット+ 編集部ブログ

* タグ:
* Dropbox
* iPhone
* iPod touch
* Webサービス
* 同期

関連記事

* iPhone雑感。買わない理由と世界の料金プラン比較
* オンライン ファイル同期&共有ツール「Dropbox」が増量中
* Dropboxを有料プランにした。ここまでの使用感
* 「Dropbox」の50GB有料プランを検討中
* ソフトバンクモバイル、「iPhone 3G」の料金プランを改定し月額2,990円~に



* 2008.09.12
* [モバイル・クラウドコンピューティング]
* このエントリーを含むはてなブックマーク
* livedoor クリップ
* newsing it!
* Buzzurlにブックマーク

* « イー・モバイルから「Touch Diamond」発売。auから「Touch Pro」発売?
* メイン
* ソニーの新サービス「Life-X」に見た限界と可能性 »

この記事のトラックバックURL
この記事へのトラックバック
管理者について
小林祐一郎 ライター・編集者
heartlogic

heartlogic
Blog Blog Blog delicious Flickr Tumblr Twitter YouTube
Agile Media Network sponsors

企業の最新ニュース・新製品情報満載!ニュースリリース&プレスリリース専門ポータルサイト:

* 『マーケティングリサーチャー、年収30万UP!』M.Aさん、36歳の…
* ◆PINS FACTORY(ピンズファクトリー)◆ ピンズ実例No.4…
* 三菱商事フューチャーズ証券の商品先物オンライン取引「サイバーコモディテ…

Agile Media Network clipping

Podcast Journal -

2009年3月の閲覧記事アクセスランキング・ベスト10

:20時間前

 2009/03/01-2009/03/31に当ブログでアクセスが高かった記事ランキングを紹介です…

広告会議 -

日本新聞協会 「見えないものが観えてくる。-新自聞スタイル-」

:22時間前

日本新聞協会が春の新聞週間キャンペーンサイト「見えないものが観えてくる。-新自聞スタイル-」を開設…

PHPSPOT開発日誌 -

マウスホイール操作が超簡単になるjQueryプラグイン

:11時間前

jQuery mouseWheel Pluginマウスホイール操作が超簡単になるjQueryプラグ…
Agile Media Network sponsor ads
検索
Google 検索用語を入力
Web
www.heartlogic.jp
検索フォームを送信

* ブログSEO対策:track word
* iphone dropbox
* dropbox iphone
* dropbox
* dropbox 共有
* ブログでペット

タグ クラウド

* aboutme
* AirMac
* Amazon
* AMN
* Android
* ATOK
* au
* Becky!
* BLOGENT
* BLOGENT.アフィリエイト
* Blu-Ray
* Bluetooth
* cakePHP
* CGI
* CGM
* Chrome
* CloudComputing
* CM
* Cookpad
* CyberBuzz
* Digg
* Dropbox
* Eee PC 901-16G
* Emacs
* EMONSTER
* EOS 5D Mark II
* Evernote
* EXILIM EX-Z400
* Eye-Fi
* Facebook
* FileZilla
* Firefox
* FMV
* Google
* Himalaya
* ICR-S280RM
* iddy
* ie
* iKnow!
* iPhone
* iPod
* iPod touch
* iPotOn
* iTunes
* Knol
* Life-X
* lino
* Live Mesh
* LOOX U
* LUMIX DMC-LX3
* M42
* MacBook Air
* Markdown
* MIAU
* MICRO GRAST
* Microsoft
* mixi
* MobileMe
* Movable Type
* MySQL
* nanoca
* netbook
* newsing
* OpenSocial
* p-7000
* PHP
* PHS300
* pocketer
* RBK-2100BTJ
* Rolleiflex MiniDigi AF5.0
* RSS
* Safari
* Salesforce
* SBM
* SEM
* SNS
* SSD
* StartMac
* Touch Diamond
* Touch Pro
* Twitter
* ULCPC
* UMPC
* VAIO type P
* VPS
* Web2.0
* Webサービス
* WHR-G300N
* wiki
* WILLCOM D4
* Windows
* Yahoo
* YouTube
* zeiss
* Zorg
* α300
* いちご狩り
* いとうせいこう
* おおきく振りかぶって
* おもしろ
* きずな(WINDS)
* こどもネット文化
* どこでも無線LAN
* なかにし礼
* ねこ
* のだめカンタービレ
* はてな
* はてなワールド
* みのもんた
* アドパートナー
* アフィリエイト
* イー・モバイル
* ウィキノミクス
* ウィルコム
* ガジェット
* クラウドコンピューティング
* ゲド戦記
* コミュニケーション
* コミュニティ
* コミュニティ・アーキテクチャ
* コミュニティ・マーケティング
* ショッピング
* スケールフリー・ネットワーク
* スマートフォン
* ソニー
* ソーシャルメディア
* タッチスクリーン
* タブレット
* ツンデレ
* テレビ
* デジカメ
* デジタルフォトフレーム
* ニコニコ動画
* ニンテンドーDSi
* ネタ
* ネットブック
* ネットワーク
* ハンディカム
* フォト蔵
* ブログ
* ブログデザイン勉強会
* プロフィール
* ポメラ
* マインド強盗
* マウントアダプタ
* マルチドメイン
* マーケティング
* ミュシャ
* ムサビコム
* メディア
* モバイル
* モバゲー
* ラジオ
* リテラシー
* レンタルサーバー
* レンタルサーバー 80code
* ロリポップ
* ワークスタイル
* 事件
* 伊集院光
* 写真
* 割れ窓理論
* 動画
* 北方謙三
* 北海道
* 協調学習
* 同期
* 同期・非同期
* 名刺
* 地図
* 学習
* 実名匿名
* 川島よしお
* 川端康成
* 年賀状
* 広告
* 影響力の武器
* 恋愛
* 情報システム
* 携帯
* 携帯電話
* 政治
* 教育
* 教育・育児
* 散歩
* 新幹線N700系
* 新潟
* 日暮里・舎人ライナー
* 映画
* 書いたもの
* 有栖川有栖
* 本
* 本仮屋ユイカ
* 東浩紀
* 松坂屋
* 柳楽優弥
* 桜
* 梅佳代
* 梅田望夫
* 検索
* 検索CM
* 河合隼雄
* 温泉卓球
* 無線LAN
* 物々交換
* 犯罪
* 独自ドメイン
* 田舎の秀才
* 社会科学
* 秋山ちえ子
* 空気
* 繋がりの社会性
* 職業ブログ
* 育児
* 自己肯定感
* 自己表現
* 色川武大
* 花沢健吾
* 若者
* 荒俣宏
* 萌え
* 著作権
* 表現
* 認知科学
* 速水健朗
* 鉄道
* 集合知
* 電通
* 食べ物
* 鬼ころし

www.flickr.com
What is this?
This is a Flickr badge showing public photos and videos from Heartlogic. Make your own badge here.

Powered by Movable Type 4.25

NINJA TOOLS
ACR WEB

---
http://www.itmedia.co.jp/help/tips/linux/l0518.html

* ミラーリングがしたい~mirror編~

 「ミラーリングがしたい~wget編~」Tipsでは、ツール「wget」を利用して手軽にミラーリングを行う方法を紹介した。

 ここでは、ツール「mirror」を使用してミラーリングを行う方法を解説しよう。ミラーリングとは、単なるファイルコピー(cp)とは異なり、ファイルスタンプを判別して最新ファイルのみをダウンロード、またはアップロードを行うことができる仕組み(ツール)だ。

 ここで紹介するツール「mirror」はPerlスクリプトで記述されており、利用するにはあらかじめPerlが動作する環境が必要だ。コマンドラインで「$ which perl」などと入力すれば、インストール済みかが判断できる。

・mirror入手先
ftp://sunsite.sut.ac.jp/pub/archives/packages/mirror/
# mkdir /usr/local/mirror
# cd /usr/local/mirror
# tar zxf mirror-2.9.tar.gz

# pwd
/usr/local/mirror/
# ln -s mirror.pl mirror

 インストール時に注意する点は、mirror-x.x.tar.gzがディレクトリを作成せずにカレントディレクトリに解凍されることだ。あらかじめ、上記のように「/usr/local/mirror」などとディレクトリを作成しておくのがよい。また、ここでの例では、便宜上「mirror.pl」ファイルを「mirror」としてシンボリックリンクさせておいた(ここでは「/usr/local/」ディレクトリ下に作成するため、すべてrootで行っている)。

 次は、ミラー元サイトにログインするための設定を記述する手順だ。

 アーカイブを展開した/usr/local/mirror/ディレクトリには、「mirror.defaults」ファイルが見られる。このファイルには設定例が記述されているが、次の例を参考にして新たに設定ファイルを作成した方がよいかもしれない。

 なお、設定ファイル内にはパスワードを記述する必要があるため、次のようにファイルオーナー以外が読みとれないようパーミッション変更をしよう。
# chmod 600 mirror.defaults

# vi /usr/local/mirror/mirror.defaults

# パッケージ名
package=default

# ミラーログイン先
site=xxx01.zdnet.co.jp

# ミラーを行うローカルとログイン先の各ディレクトリ
local_dir=/pub/www/help
remote_dir=/help

# ユーザー名とパスワード
remote_user=xxxx
remote_password=xxxx

# 実行ログ通知を行う場合の配送先
mail_to=helpdesk@zdnet.co.jp

# ダウンロードモードは「true」、アップロードは「false」
get_file=true

# パーミッションの設定
dir_mode=0755
file_mode=0644

# ローカル側でファイルを消したらサーバでも削除する
do_deletes=true

# グループ設定
group=help

 なお、次のように設定ファイル内に「package=」以下の行を複数用意すれば、「mirror -p [package名]」(mirror -p enterprise)と指定することで実行可能になる。
....中略....

package=enterprise
site=xxxx.zdnet.co.jp
local_dir=/pub/www/enterprise
remote_user=hoge
remote_password=hogege
mail_to=help-update@zdnet.co.jp
remote_dir=/enterprise
get_file=true
dir_mode=0755
file_mode=0644
group=help

package=developer
site=xxxx.zdnet.co.jp
local_dir=/pub/www/developer
remote_user=hoge
remote_password=hogehoge
mail_to=help-update@zdnet.co.jp
remote_dir=/developer
get_file=true
dir_mode=0755
file_mode=0644
group=help

...以下略...

 上記設定内容にてパッケージ名「enterprise」で「mirror -p enterprise」として実行させた場合、「xxxx.zdnet.co.jp」宛にユーザー「hoge」、パスワード「hogege」でログインし、リモート先「/enterprise」ディレクトリ下を、ローカルの「/pub/www/enterprise」にダウンロード(get_file=true)することを意味する。その際、ディレクトリ作成パーミッションは「755」、ファイル作成パーミッションは「644」、グループは「help」となる。 表■mirrorコマンドオプション

-d デバッグ表示を有効にする
-n ファイル比較のみを行う(実際のミラーは行わない)
-F ファイルの情報を管理するためにDBMを使う
-gsite:pathname 取得するファイルが指定できる。パス名の終端記述が「/」の場合にはディレクトリと見なされるが、ディレクトリであるにも関わらず「/」が書かれていない場合には、リスト判別のためパフォーマンスが下がる
-r 再帰的なディレクトリリスト取得を行わない
-v バージョン表示
-m ファイルの属性もコピーする
-t ファイル転送にftpのテキストモードを使う。指定しない場合にはバイナリモードになる
-f 変更がなくても強制ファイルコピーを行う
-uxxx xxxのユーザ名でftpサーバにログインする(指定しない場合にはanonymousユーザログインになる)
-pxxx 設定ファイル(ここではmirror.default)内の「package=xxx」で指定された設定でミラーリングする
-Rxxx 設定ファイル中のxxxにマッチするパッケージ下の設定すべてでミラーリングする

 設定後は、例えばcronで次のようにスケジュールすることで、自動的に定期的なファイル同期が可能になる。
$ crontab -l

0 10 * * * /usr/local/mirror/mirror -p enterprise 2>/dev/null
3 10 * * * /usr/local/mirror/mirror -p developer 2>/dev/null

http://www.itmedia.co.jp/help/tips/linux/l0518.html

Perl ReadLine like CPAN

use Term::ReadLine;
my $term = new Term::ReadLine('template');
$stash->set('readline' => sub {
my $prompt = shift || 'input:';
my $text = $term->readline($prompt);
if (defined $text) {
$term->addhistory($text);
}
return $text;
});

Reference:
http://www.naney.org/diki/dk/Term::ReadLine.html