FTPサーバからファイルを一括転送

2013/03/04 | その他

FTPクライアントを使いたいわけではなくてコマンドライン上での話。

サーバのデータを別サーバに移行する。移行元がレンタルサーバ、移行先が専用サーバ。

ファイルが数十MBとか、小さなウェブサイトなら、GUIなFTPクライアントで一旦ローカルディスクに保存して、移行先サーバにアップロードすればいい。でも、さすがにGB単位の量になると、それはとっても面倒な作業だ。なので楽をする方法を考える。

一番簡単な方法はrsyncだけど、レンタルサーバでは当然そういうサービスはない。必然的にFTPとなるわけだが、コマンドラインでmgetするとしても、移行元がディレクトリで階層構造をとっている場合、コマンド一発では取得することができない。

そんな時に素晴らしいのがwget。ウェブページ取得とかファイルダウンロードとかでしか使ったことなかったけど、FTPクライアントにもなる。以下のコマンドを実行すれば、指定したディレクトリを一括で(再帰的に)ダウンロードしてくれる。

wget -mc ftp://user:password@host/path/to/target/

-m
とっても便利なオプション。ミラーリングができちゃいます(指定したディレクトリをごっそり頂きます)。

-c
とっても便利なオプション。レジュームができます(途中転送に失敗してもやり直してくれます)。

これでひとつのお仕事の問題点全てクリア。次のお仕事に移ります。

CentOS6系でのCSR作成

2012/08/27 | apache

安価なSSLでも十分事足りるということで、最近はもっぱらラピッドSSLを利用している(代理店はwww.sslbox.jp)。今日キーとCSRを作成して申請しようとしたところ、変なエラーが出てその先に勧めなかった。

CSRのコモンネーム「 UTF8STRING」と入力されたコモンネーム「********」が異なります。

意味不明。そもそもCSR作成時にコモンネームで「UTF8STRING」なんて入力するわけ無いじゃん。運営元のネットオウルがミスしたんじゃないの、とか思いつつ、急いでいたのでお問い合せフォームからサポートに連絡した。今までと違うことはOSがCentOS5系から6系に変わったこと。ひょっとしてそれが何らかの影響を及ぼしているのかもしれないということで、いちおう検索をかけてみたらひっかかってきましたよ、奥さん。

/etc/pki/tls/openssl.cnf

上記ファイルにある以下の記述変更で対応できた。

#string_mask = utf8only
string_mask = nombstr

「nombstr」って要は「マルチバイト文字列はありません」 ってことですかね。この変更をしてその後、キーとCSRを再作成して無事申請することができた。

これは、CentOS6の問題かね、それともCentOS6のデフォルト状態で作成したCSRに対応できていないネットオウルの問題かね。そういうのを知る意味でも、次回は他の代理店でSSL申請してみようかな。

inet_interface

2012/07/12 | Postfix

postfixでどうしても外部から接続できなくて困ったのでメモ。

サーバセットアップ。いつものように、自分で作った手順書を頼りにセットアップするわけだが、どうしてもpostfixだけが動いてくれない。厳密に言うと、動いているようだが、外部からは接続できない。外部から接続しようとすると弾かれる。

Trying XXX.XXX.XXX.XXX…
telnet: connect to address XXX.XXX.XXX.XXX: Connection refused
telnet: Unable to connect to remote host

コンソールもしくはSSHでログインした状態で、中から確認すれば問題なく動いている。「telnet localhost 25」すれば応答があるし、ポートスキャンをかければ25は開いているし、実際にメールを送信してみれば、外部サーバにもきちんとメールが届く。つまり中からはOKで外からはNGな状態だ。

まず疑ったのがiptablesの設定。しかし問題無さそうだ。iptablesをstopしても症状は同じだからだ。他にもいろいろ停止したりしたけど変化はない。ひょっとして、上位で止められてるかも、とか思って問い合わせてもみた。しかし実際そんなことあるわけがない。だってもしそうなら、きっと問い合わせが殺到して大変なことになっているだろうから。

とりあえずpostfixの設定をデフォルトに戻しても症状は同じ。ん、あれ、ひょっとして何か根本的な勘違いしてるんじゃないか。ということで調べてみた。そして思い当たるフシがあった。

main.cfでinet_interfaceの設定、デフォルトはlocalhostに設定されているが、これをallに変更する必要がある。

なんと、これだった。この項目だけ修正し忘れていたのだった。別にCentOS6.2が悪いわけではない。サービス提供会社も悪くない。postfixも悪くない。単なる設定ミスじゃん。悪いのは自分。

ほんと、慣れって怖い。1日悩んで解決できましたとさ。

CentOSにffmpegをインストール

2012/06/26 | ffmpeg, 動画

最近動画系の依頼(というか「できないかねー」って感じ)が多い。動画と言えばffmpegなわけだが、CentOS標準のリポジトリでは提供されていない。かといってソースからのインストールは極力やりたくないので、yumでインストールする方法を探してみた。結果インストールはできた(動作確認はまだ)。作業内容は以下のとおり。

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
vi /etc/yum.repos.d/rpmforge.repo

enabled = 1を0に変更

yum –enablerepo=rpmforge install -y ffmpeg ffmpeg-devel

rpmforgeのリポジトリをrpmで追加して、とりあえず普段はそのリポジトリを使用しないよう設定。その後コマンドラインからyumでffmpegをインストールするのだが、引数でrpmforgeリポジトリを有効にする。

さて、どんどん試してみよう。

opensslのランダムファイル作成でエラー

2011/07/11 | apache

SSL導入で、opensslにてランダムファイルを作成するときにエラーが出た。

[root@iris dev]# openssl md5 * > /root/rand.dat
Read Error in lib
29682:error:0200B015:system library:fread:Is a directory:bss_file.c:198:
29682:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:199:
Read Error in log
29682:error:0200B015:system library:fread:Is a directory:bss_file.c:198:
29682:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:199:
Read Error in templates
29682:error:0200B015:system library:fread:Is a directory:bss_file.c:198:
29682:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:199:

え、なんで、なんで、と戸惑ってしまった。落ち着いてエラーメッセージを見たら、指定したファイルの中にディレクトリが含まれていますよ、との記述。*で指定した箇所にディレクトリがあったから、エラーになっていた。たしかに「lib」「log」「templates」のディレクトリがあって、エラーメッセージにも表示されてるじゃん・・・。

エラーメッセージはちゃんと読みましょう。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net