Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
ラベル backup の投稿を表示しています。 すべての投稿を表示
ラベル backup の投稿を表示しています。 すべての投稿を表示

2016年1月9日土曜日

EC2の MySQLを S3にバックアップする方法(世代管理付き)


S3への送信はaws-cliが良さそう。
参考:aws-cli - AWS CLIでS3を操作する - Qiita


aws-cliはAmazon Linuxなら最初から入っているが、手元のインスタンスはconfigure等をするにはバージョンアップが必要だった。
yumでもバージョンアップできるが、今回は諸事情により依存関係のある諸々をそっとしておきたかったので、下記を参考にyumを使わずにaws-cliをバージョンアップ。

参考:AWSCLIで運用検討中の人必見! AWSCLIを使用したS3へのファイルコピー | クラウド工房 Powered by Amazon Web Services

sudo easy_install pip
sudo pip install awscli -U


IAMでS3のみに権限を絞り込んだユーザーを作り、その認証情報をconfigure。(もう少し権限を絞っても良いかも。)

aws configure

AWS Access Key ID [None]: (アクセスキーを入力)
AWS Secret Access Key [None]: (シークレットアクセスキーを入力)
Default region name [None]:
Default output format [None]:


世代管理はS3の機能であるバージョニングとライフサイクルを使う。
S3でバケットを作成し、バージョニングを有効化。
ライフサイクルでルールを追加。(例「以前のバージョン」を30日後に削除)


後は適当にダンプとS3へのコピーのスクリプトを作ってcronに登録する。
分かりやすいようにディレクトリを作成し、そこにスクリプトを作った。

バックアップ用スクリプト作成。
vi backup.sh

#!/bin/sh
echo "START " `date +'%Y/%m/%d %H:%M:%S'`
MYSQL_PWD='MySQLのパスワード' mysqldump -u MySQLのユーザー 対象DB > data.dump
aws s3 cp data.dump s3://バケット名/
echo "E N D " `date +'%Y/%m/%d %H:%M:%S'
(パスワード直書きにしたが、きちんとやるならMySQLのパスワードは隠したい。)

スクリプトのファイルに実行権限を付ける。
chmod 700 backup.sh

cronに登録。
crontab -e

0 1 * * * cd /スクリプトのディレクトリ; ./backup.sh >> history.log


aws-cliを使うと、AWSのサービス間の通信はSSL(TLS?)で暗号化されるようだ。
参考
aws — AWS CLI 1.9.17 Command Reference
By default, the AWS CLI uses SSL when communicating with AWS services.

Amazon Web Service aws cliはデフォルトで暗号化通信されるのか? - なぜか数学者にはワイン好きが多い



S3を使わずにサーバ上で世代管理するだけなら、下記が一番分かりやすかった。
mysqldumpをcronで1日1回取得し、バックアップ用ファイルを保存する - サイト制作の豆知識

2011年10月3日月曜日

MySQLの dumpと restore


文字コード設定がされていないサーバからダンプする時に文字化けすることの対策のメモ。


dump

mysqldump -u user_name -p --compact --default-character-set=binary db_name > dump.sql

restore
DB(Schema)を作ってから、
sed 's/latin1/utf8/g' dump.sql > dump_utf8.sql
mysql -u user_name -p db_name < dump_utf8.sql

バイナリで出して文字コードの記述を置換してから取り込む。


参考

2011年3月31日木曜日

「lexicon (XLLEX.DLL)が見つからないか、または壊れています。」の修復

Windows XPでMS Office 2007のアプリを起動できなくなった問題に対して、試行錯誤した上で何とか回復できたことのメモ。
回り道が多くて余分なこともしてると思うが、誰か(あるいは自分)の役に立つかもしれないので記録しておく。


いつものようにExcelを開こうとすると「lexicon(XLLEX.DLL)が見つからないか、または壊れています。」というエラーメッセージが表示され、Excelが開けない。
また、Wordも開かなくなっている。(開こうとすると何も書かれていなくてOKボタンしかないダイアログが表示される。)
XLLEX.DLLというファイルはOfficeのフォルダにあるので、レジストリがおかしくなっている?

Googleで調べてみたが、Windowsを再インストールするか、あるいはWindowsユーザーを新しく作り直すしか対策が見つからない。(それは嫌だ。)

「プログラムの追加と削除」でOfficeをアンインストールして、OfficeのインストールCDから再インストール。しかし状況変わらず。何回か繰り返したが駄目。

Windowsの「システムの復元」を使って、Excelが開けた頃にWindowsを戻す。

Excelを立ち上げようとすると、これまでとはまた別のエラーが出るようになった。
それに対してOfficeを再インストールしようと試みるも、そもそもアンインストールができない

  • 「プログラムの追加と削除」から「変更」「削除」ボタンを押しても、数秒固まるだけで何も起きない
  • OfficeのインストールCDのSetup.exeを起動すると、インストールエラーが発生して終了してしまう
この状態でインストールしようとしてもエラーになってインストールできない。

Microsoft Office 2007をアンインストール(削除)ができない|星屋工作室で紹介されているMSのサイトの「Fix it で解決する」というのをダウンロードして実行したら、Officeをアンインストールできた。

CDからOfficeを再インストール。

ExcelもWordも使えるようになった!


もしかしたら最初からFix itを使えば解決したのかもしれない。
Office2007だけでなく、2003や2010もアンインストール用の「Fix it」があるようだ → コントロール パネルからアンインストールできない場合、Office 2003、Office 2007 または Office 2010 スイートをアンインストールする方法


また、この後Microsoft UpdateによるOffice2007 SP2のインストールがどうしても失敗する事象が発生。

Office2007のサービスパックが当たらない - りぶろくを参考にWindows Installer 4.5をダウンロードしてインストール

SP2もインストールできた。

2010年4月5日月曜日

PostgreSQLで(ほぼ)リアルタイムにバックアップを取る方法

いろいろあるみたい


外部ツール



本体の機能

2008年10月3日金曜日

Windows用のフリーのバックアップツール × 3

個人的には、BunBackupが見た目が分かりやすくて使いやすい。

  • BunBackup
    • シンプルで分かりやすいGUI
    • パソコンに詳しくなくても使えそう
    • ミラーリングも可能(デフォルトでは非表示メニューになっている)
    • コマンドラインからの実行も可能 (参考:BunBackup FAQ
      "BunBackupへのパスBunBackup" /AUTO:"BunBackup設定ファイル(*.lbk)へのパス"
  • FastCopy
    • 「Windows系最速(?)のファイルコピー&削除ツール」
    • 一般の人には最初は少し分かり辛いかも
    • 右クリック時に表示されるメニューからFastCopyを呼び出せるのが便利そう
    • 常駐させて同期させるなら便利そう
    • コマンドラインオプションは豊富
  • Fire File Copy
    • 「ファイルのコピーや移動を「高速に、しかもガリガリという音を立てずに行おう」という、ちょっと珍しい(?)ツール」
    • 大容量のファイルコピーに向いている?
    • コマンドラインオプションは一番多そう(参考:コマンドラインオプション

2008年8月28日木曜日

MySQLをオンラインでバックアップ

MySQL5.0以降の話。(MySQL 4.1 リファレンスマニュアルには記述が無いが、MySQL 5.0 Reference Manualには記述があるので。)

InnoDBではテーブルのロック("--lock-all-tables" 省略形は-x)をせずにmysqldumpでオンラインバックアップができるらしい。
参考:MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 7.12 mysqldump — データベースバックアッププログラム(ページの一番下の方)


使用例

mysqldump -u USER_NAME -pPASSOWRD -A --single-transaction > /path/to/backup/dir/mysqldump.sql

"-p"とパスワードの間にはスペースを入れない。
"-A"は"--all-databases"の省略形。
"--single-transaction"はテーブルのREAD ONLYなロック?アプリケーションをブロックしないで済むようだ。 InnoDBのみ有効。
--single-transaction
このオプションはサーバからデータをダンプする前にBEGIN SQLステートメントを発行します。InnoDBといったトランザクションテーブルに対してのみ便利です。なぜなら、アプリケーションをブロックせずに、BEGINが発行された当時のデータベースの状態をダンプするからです。
このオプションを使用しているときは、一定の状態でダンプされるのはInnoDBテーブルのみだということを留意してください。例えば、このオプションを使用中にダンプされたMyISAMやMEMORYテーブルは状態が変化する可能性があります。

mysqldumpの出力はSQL。データベース・テーブル等のCREATE文やデータのINSERT文等が書いてある。
そのままSQLを実行すればリストアできる(はず)。

mysqldumpを使ったバックアップ・リストアは、データ量が多い場合には時間がかかるらしいので注意。

ブログ アーカイブ

tags