忍者ブログ
任天堂特殊捜査室やN-Wii.netを運営している「にんてんまん」が、不定期に語るブログ。
×

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

 ※今回のお話は、PHPやMySQLなどが分からない人にとってはよく分からん記事なので、その場合は申し訳ないですが飛ばしてください。

 N-Wii.netでは、Wiiソフト発売予定表などでMySQLというデータベースを使って運営しています。それで、ご存知の方もいるかといるかと思いますが、4月頃にさくらインターネットでMySQLサーバーの障害が発生してしまいました。

  → 「Wiiソフト発売予定表」などの接続障害について

 この場合は、データが破損することなく無事に復旧できたので良かったのですが、万一の時に備えての対策をしておく必要があります。というわけで、cronを使ってMySQLの自動バックアップを行う事にしたのです。参考にしたのは以下のページ。

  → さくらインターネットでmysqlの自動バックアップ(Web2.0ナビ)

 ※cronの解説
  → cron の設定ガイド

 上のページに書いてあるソースを、例えば「backup.sh」という名前のファイルを作って保存し、ホームディレクトリにアップロード。そしてコントロールパネルからcronの設定を行う、という具合です。

 cronの実行コマンドは、以下のようにすると高い確率で成功するようです。

/bin/sh /home/<ユーザー名>/backup.sh


 ちなみに、今回に限らず「~~.sh」というファイルを作る場合は、文字コードはUTF-8、改行コードはLFにする必要があります。TeraPadなどUTF-8とUTF-8Nが区別されている場合は、UTF-8Nの方が良いです。
 何が違うかと言うと、UTF-8には「バイトオーダーマーク(BOM)」というのがファイル先頭に3バイト分付加されているのですが、UTF-8Nにはこれがありません。この違いが引き起こす問題については、解説がWikipediaにあったので引用したいと思います。

 BOMを付加する目的は、その文書がUTF-8であることを確実に認識できるようにするためだと考えられる。一方で、UTF-8のBOMを認識しない(単に8ビットスルーであるというだけの、正式にはUTF-8に対応していない)プログラムでは、BOMが余分なデータとみなされて問題となる場合もある。
例えば、UNIX系OSにおける実行可能スクリプトは、ファイル先頭が「#!」から始まるとき、それに続く文字列をインタプリタのコマンドとして認識するが、現状の多くのシステムでは、BOMが存在するとこの機能が働かず実行できない。
 → UTF-8 バイトオーダーマークについて (Wikipedia)


 こういう理由から、「.sh」をUTF-8で保存すると上手くいかない可能性があるというわけですね。今回のことに限らず、OSに読ませるようなファイルは全体的にUTF-8Nで保存した方が良いのかもしれません。

 というわけで、無事にMySQLのバックアップに成功しました。これで、ある程度のリスクは回避できるのではないでしょうか。
 さて今度は、PHPを自動で実行するタイプのやつを作ってみたいですね。自動でやってくれるというのはとても魅力的なので、どういったものが作れるか色々と探してみたいと思います。
PR
- HOME -
プロフィール
HN:
にんてんまん
HP:
性別:
男性
自己紹介:
N-Wii.netや任天堂特殊捜査室を運営している、にんてんまんと申します。
マイペースな運営をモットーとしているつもりです。何かあったら、どうぞツッコミをいれてください。
カレンダー
03 2024/04 05
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
最新CM
[11/30 わ]
[04/01 にんてんまん]
[03/31 名前はまだ無い]
[02/27 にんてんまん]
[02/25 フォックス]
最新TB
ブログ内検索
バーコード
アクセス解析
フリーエリア
Powered by 忍者ブログ | [PR]