scpコマンドオプション指定で速度UP

scpコマンドのオプションで圧縮、暗号形式指定で3倍程速度が上がる。
ファイルを大量に処理させる場合、有効。
暗号化形式はssh_configを参照。
こんなに変わるんやな。忘れそうなのでメモ。


[オプション無し]:
# scp 転送ファイル ユーザ@ホスト:転送ディレクト

[オプション付き]
# scp -C -c arcfour 転送ファイル ユーザ@ホスト:転送ディレクト

Repubインストールまでメモ

今流行りのePub
Simple HTML to ePub converter Repubというのを発見。
OS:CentOS 5.4へ

一応メモ。

                                                    • -

# yum install ruby
# yum install ruby-devel

# wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.2.tgz
# cd rubygems-1.3.2
# ruby setup.rb
# gem install repub

                                                    • -

「ダメ失敗」
http://nokogiri.org/tutorials/installing_nokogiri.html
をみろというエラーが出るので、参考に。

                                                    • -

# yum remove -y libxml2-devel libxslt-devel
# wget ftp://xmlsoft.org/libxml2/libxml2-2.7.7.tar.gz
# wget ftp://xmlsoft.org/libxml2/libxslt-1.1.26.tar.gz
# tar zxvf libxml2-2.7.7.tar.gz
# cd libxml2-2.7.7
# ./configure
# make
# make install
# tar zxvf libxslt-1.1.26.tar.gz
# cd libxslt-1.1.26
# ./configure
# make
# make install

「再度挑戦」
# gem install repub

                                                    • -

「ダメ失敗」

                                                    • -

# yum install rdoc
どうやらCentOSは、これがいるらしい。
ここに来るまではまった。エラーでそれらしきのが出てたのでその時、気づいていれば。

# gem install nokogiri
# gem install repub

                                                    • -

「OK」

色々と詰まったが、こう見るといらない処理もありそう。

MySQLのレプリケーション設定の際

MySQLレプリケーションの設定の際、ログの吐きだし先の設定は行う。
ログの吐きだし先を指定しておかないと、サーバの初期設定によっては、思いもよらない場所に吐かれている事がある。その為、サーバの容量圧迫なんて事もありえるし。

レプリケーション動作時に、後から設定を変更反映させると、
リレー情報の整合性がとれなくなるので、初めに設定しておく。

          • マスターのbinaryログ吐き出し先指定-----

#vi /etc/my.cnf

[mysqld]
log-bin=/var/lib/mysql/mysqld-bin

                                                                                        • -
          • スレーブのrelay-log吐きだし先指定-----

#vi /etc/my.cnf

[mysqld]
relay-log=/var/lib/mysql/relay-bin
relay-log-index=/var/lib/mysql/relay-bin

                                                                                        • -

型キャスト

郵便番号データを処理していた際のメモ。
「011234」などのデータより、前2つの数字を抜き出し、整数値に変換。
このままだと「01」なので。


substr($data[0],0,2);
→結果: 01

(int)substr($data[0],0,2); //整数値に型キャスト
→結果: 1


intvalで処理させるよりもキャストの方が処理速度は速いみたいなので、これからはこっちだな。まあそうだよな。

PHPで任意のタグ間の文字列を抜く

PHPで任意のタグ間の文字列を抜き出す。
ファイル内のすべてのパターンを抜き出し、$matchesに配列で格納。
よく忘れるのでメモ。


$html = file_get_contents("URL or ファイル");
$pattern = "/<span class=¥"entry-content¥".*<¥/span>/";
preg_match_all($pattern,$html,$matches);

Cronでの実行メールを送信させない

意外と忘れるのでPOST。
Cronの実行結果はメールで自分自身に送られる。
メールがサーバ容量を圧迫してた時にわかったが、できるだけうざいので、送信しないようにする。
Cronを大量に設定してて、通知メールが不必要なら必須。


メールを送ってほしくない場合は、
* * * * * コマンドorバッチ > /dev/null
この場合はエラーが起こった時だけメールが送られてくる。
エラーが起こってもメールを送らない場合は
* * * * * コマンドorバッチ >/dev/null 2>&1

mailコマンドで本文、添付をつけて送信する(日本語対応)

mailコマンドで色々とやってるとはまった。
なにかと、使用頻度が高そうなのでPOST。


・日本語を使用
# mail -s `echo "メールサブジェクト" | nkf -j` mailaddress

・添付ファイルをつける
# uuencode ファイル 添付ファイル名 | mail -s "メールサブジェクト" メールアドレス

・本文をつける
# echo "メッセージ" | mail -s "メールサブジェクト" メールアドレス

・送信元アドレスを指定する
# mail -s "メールサブジェクト" "送信先アドレス" -- -f "送信元アドレス"


以下複合技shell

#########################################################
# Mailに添付ファイル、本文、タイトルをつけて送る(日本語)
#########################################################

dir=/var/www/csv
yesterday=`date +%Y%m%d -d '1 days ago'`
subject="タイトル"
message="添付しておくります。"
mailaddress=aaa@bbb.co.jp

cd ${dir}
(echo $message; uuencode ${dir}${yesterday}.zip ${yesterday}.zip) | nkf -j | mail -s `echo ${subject}|nkf -j` ${mailaddress}