とあるSNS(OpenPNE)の裏方管理者になって随分経つ。
調べてみたらもう10年近くて驚いた。
管理者といっても、何も問題がなければ出番もないわけで平穏が一番。
実際には何もなかったわけでもなく
- レンタルサーバの使用容量超過対策(これの時に頼まれて今に至る)
- バージョンアップ(2.14.x → 2.14.y)
- レンタルサーバの引っ越し2回
- "ログインできなくなる事件"の対処
とかあった。
いやぁ、最後のは本当に焦ったw
ある日突然ログインできなくなって、てんやわんや。
年末年始返上で対応した。
当時の俺の能力だったから対応できたわけで、今だったら即死だった(何
俺自身もそのSNSに参加していて毎日日記を書いていたりしたんだけど
思うところあって表舞台から身を引いた。
モチベーションが保てなくなったというのが大きな理由。
その理由の1つであるサーバの使用容量。
情報は ほぼ全部DBに入っているんだけど、どれぐらい容量使ってるんだろう?
というかプラン的にどこまで使って良いんだろう?w
調べてみたけど、明示的に いくつ とは書いてないので余計不安になる。
そうやってモヤモヤしていたときに、ふと
俺のサーバで動くのか?
と試してみたくなった。
もしレンタルサーバから追い出されても慌てなくて済むようにしたいし、
メジャーバージョンアップを見送ってかなり古いバージョンが動いているので
バージョンアップの検証もしてみよう と。
ひとまずバックアップ
今動いているものをローカルに落とす必要がある。
ファイル類はFTPで繋いで一式をローカルにダウンロード。
※俺が関わったときには既になっていたんだけど、ファイルの配置がおかしい。
マニュアル通りに作業したら絶対こうはならないんだが・・・。
なんでこんな意味不明なことにしたんだ。
ちょっと手間なのがDB。
レンタルサーバにはDBを触れるGUIツール(phpMyAdmin)があって
そこからエクスポート~ダウンロードはできるんだけど
クソ重いし大量のテーブルをチマチマ ダウンロードなんてやってられないのでコマンドで。
コマンドを全部手で打つのもあり得ないので、簡単なシェルスクリプトにする。
まずはテーブルの一覧を得るために、コンソールで繋いで
mysql -h ※ホスト名※ -u※ユーザ名※ -p※パスワード※
でMySQLにログイン。
パスワードを平文で書く事はアレなんだけど、面倒なので・・・(何
※-pの後はスペースを空けないのがポイント。
connect ※DB名※
でデータベースに繋ぐ。
データベース名がわからなければshow databases;
で一覧表示。
show tables;
でテーブル一覧を表示。
沢山あるので出力されたテーブル一覧をテキストエディタにコピーして
mysqldump -h ※ホスト名※ -u※ユーザ名※ -p※パスワード※ ※DB名※ ※テーブル名※ > ※テーブル名※.sql
の形に一気に成型。矩形選択万歳!
短時間とはいえレンタルサーバの契約の容量を超えるので、少しでも減らすように
gzip ※テーブル名※.sql
で圧縮。
DB容量を圧迫しているのはバイナリなので ほとんど効果無いけどw
で、これもFTPでローカルに回収。
ファイルにすると全部で3.75GB。そのうちDBが3.4GB。
更にいうとc_image(画像を格納するテーブル@バイナリ)が3.3GB。
ほとんどじゃねーかw
[]