bashスクリプトでデータベースをバックアップする

bashスクリプトでmysqlのバックアップをとるようにして
cronで回せば、自動でバックアップを取れるようにしました

Ubuntu 12.04で試しています

参考)mysqlのバックアップのとり方を整理

できあがりはこんな感じ
丸括弧()内は環境に合わせます


#!/bin/sh

TODAY=`date '+%F'`
mysqldump -u (user name) --password=(password) (database name) > ./$TODAY.dbbackup

TENDAYSAGO=`date -d '11 days ago' '+%F'`
rm ./$TENDAYSAGO.dbbackup

2014-11-09.backup
といったバックアップができ、10日前(今日を含めず)のファイルを消します

これをbackup.shとかに保存し、実行権限をつけます

$ chomod u+x backup.sh
といった感じで

実行して試します
$ ./backup.sh

保存されてるか確認しましょう
cronに登録すれば、自動バックアップの完成です
(同じサーバーに保存してしまってますが)

mysqlのバックアップのとり方を整理

mysqlのバックアップのとり方を整理しました
mysqldumpコマンドを使います

丸括弧()内は、お手持ちの環境のものに変えてください

バックアップをとるなら
$ mysqldump -u (user name) -p (database name) > dump.backup
(パスワード入力)

パスワード入力を外すには
$ mysqldump -u (user name) –password=(password) (database name) > dump.backup

別のサーバー上のバックアップを取るなら
$ mysqldump -u (user name) -h (remote server address) -P (port number) (database name) > dump.backup
※リモートのサーバーへログインできる許可がないと実行できません

hetemlで鍵交換方式のssh接続をする

hetemlでは、ブラウザからのコントロールパネルでSSHのログインを有効にできます
パスワード認証なので鍵交換方式にしてみました

sshでログインできるようsshの設定をしておきます

sshでログインできるようにする

コントロールパネルでsshを有効にしておきます
パスワードはsFTPと同じのようです
heteml-ssh

.ssh/configを設定します
$ vi .ssh/config
Host heteml
HostName xxxxx.heteml.jp
User username
Port 50022
IdentitiesOnly yes
PreferredAuthentications password

HostNameとUserとPortはお持ちのものを使ってください
最後の2行がないと、怒られるみたいです

sshでログインしてみます
$ ssh heteml
(パスワード入力)

つながればうまくいってます

鍵交換方式の設定

ローカルのパソコンで鍵を用意しておきます

$ ssh-keygen -t rsa
で、指示をみてパスワードつけたり、鍵の名前をかえたりします

名前はかえなければ
id_rsa
id_rsa.pub
の2つができます

公開鍵(id_rsa.pub)をhetemlのサーバーへ渡します
$ scp id_rsa.pub heteml:~/

公開鍵をauthorized_keysに登録します
authorized_keysがない場合の操作です
$ ssh heteml
$ mkdir .ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 .ssh/authorized_keys

sshdをリスタートしたいから
hetemlにログインして、sshをいったんOFFにしてONにします

.ssh/configを修正します
$ vi .ssh/config
Host heteml
HostName xxxxx.heteml.jp
User username
Port 50022
IdentitiesOnly yes
# PreferredAuthentications password

$ ssh heteml
でパスワードが求められなければうまくいっています
今後、楽です

IngressでL9になりました

やっとIngressでL9になれました

ingress-l9

以前
Ingressでやっとレベル8になりました
が10/5なので1ヶ月かかりました

Explorer1000超え、Pioneer200超えを頑張って、でクリアです
ひたすらいったことのないPotalへいってHackしてました

L11には銀がもうひとつ(計5)、金がもうひとつ(計2)が必要です

今、金が
* Recharger

銀が
* Explorer
* Pioneer
* Gurdian
(金は銀のカウントにもなる)

L11には
Gurdianで金が運良くとれて
Connectorが700超えてるので1000超えの銀を狙う
が近いですが、道のりながそうです

参考)
Ingressのメダル獲得条件を整理