sakura vps バックアップを dropbox へ その2

2013年12月24日更新 view: 6 view
photoBy: http://cdn.dice.com/wp-content/uploads/2013/05/Dr…

いよいよバックアップを取得しよう

http://www.matomater.com/14587/

に dropboxとの連携方法は書いた。
続いては、バックアップををしてみる。

条件

  • サーバー上にバックアップは一切残さない
  • dropboxには10日間残す(古いのは自動削除)
  • /var/www/html 以下のファイルをすべてバックアップ
  • すべてのデータベース、テーブルをバックアップ
  • cron で自動的に

まずは mysqlのバックアップを取得するテスト

まずはmysqlのバックアップを手動で取得してみる

参考 http://mukaer.com/archives/2012/03/14/vpscentos/

バックアップ用のフォルダをつくろう

mkdir -m 777 /var/backuptmp

ログインパスワードを /etc/my.cnf に書く

[client]
password="hogeman"

mysqldump

mysqldump -uroot -p --all-databases > dump.sql

これで dump.sql が完成していればOK。

続いて自動バックアップ用shellを作成

ファイルを作って

vim /var/shell/backup.sh

コード

#!/bin/sh

#Today
TODAY=`TZ=JST-9 date +%Y%m%d`

mkdir -m 777 /var/backuptmp
mkdir -m 777 /var/backuptmp/$TODAY

#mysqlをバックアップとして取得
mysqldump -u root -x --all-databases > /var/backuptmp/$TODAY/dump.sql

#サイトのファイルすべてをバックアップとして取得
zip -r /var/backuptmp/$TODAY/sitedata.zip ls /var/www/html

#dropboxにアップロード (絶対パスで指定。でないとcronで動かない)
/home/ユーザー名/dropbox_uploader.sh upload /var/backuptmp/$TODAY/ /backup/$TODAY/

#dropboxとローカルの古いファイルを削除(絶対パスで指定。でないとcronで動かない)
DELETE_DAY=`date -d '10 days ago' +%Y%m%d`
/home/ユーザー名/dropbox_uploader.sh delete /backup/$DELETE_DAY/

#Delete Local backup_temp
rm -rf /var/backuptmp/$TODAY
スポンサードリンク

バックアップ成功するかテスト

sh /var/shell/backup.sh

これで動けば次は cron をしかけるよ!
zipコマンドが使えない場合は yum install zip をする。

cronをしかける

cronでも動くように

chmod 777 /var/shell/backup.sh

crontab を編集

crontab -eで・・・

MAILTO=your@mail.jp
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
38 17 * * * /var/shell/backup.sh

これで 17時 38分にバックアップが自動取得されます

スポンサードリンク

関連記事

関連カテゴリ