遠隔地バックアップ(gdrive)

最終更新日: 2017.04.15

<<トップページ <<新着情報 <<逆引き集 <<リンク集 <<サイト内検索 <<メルマガ <<Scientific Linuxで自宅サーバー構築 <<Fedoraで自宅サーバー構築

■概要

ディスク故障や被災に備えて、バックアップデータを遠隔地へバックアップする。
ここでは、gdriveを利用してバックアップデータをGoogleドライブにバックアップする。



■gdriveインストール

[root@centos ~]# wget -O gdrive "https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download" ← gdriveダウンロード

※最新版のURLはダウンロードページで確認すること

[root@centos ~]# mv gdrive /usr/local/bin/ ← ダウンロードしたファイルを所定のディレクトリへコピー

[root@centos ~]# chmod +x /usr/local/bin/gdrive ← gdriveに実行権限付加

[root@centos ~]# gdrive list ← gdrive認証
Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ブラウザでGoogleアカウントにログインした状態で上記アドレスへアクセスする

Enter verification code: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ← ブラウザに表示されたコードをコピーして貼り付ける
Id                                    Name                                       Type   Size       Created
・
・
・

■gdrive確認

[root@centos ~]# gdrive upload /backup/backup.tar.bz2 ← バックアップファイルをgdriveへアップロード
Uploading /backup/backup.tar.bz2
Uploaded 0B2q6qjwlkHGuVGhrY2I5QU9aM28 at 1.0 B/s, total 2.0 B

[root@centos ~]# gdrive list -q "name = 'backup.tar.bz2'" ← アップロード確認
Id                             Name             Type   Size    Created
0B2q6qjwlkHGuVGhrY2I5QU9aM28   backup.tar.bz2   bin    2.0 B   2017-01-09 13:13:02

[root@centos ~]# gdrive download 0B2q6qjwlkHGuVGhrY2I5QU9aM28 ← バックアップファイルをgdriveからダウンロード
Downloading backup.tar.bz2 -> backup.tar.bz2
Downloaded 0B2q6qjwlkHGuVGhrY2I5QU9aM28 at 2.0 B/s, total 2.0 B

[root@centos ~]# ll backup.tar.bz2 ← ダウンロード確認
-rw-r--r-- 1 root root 2  1月  9 13:16 backup.tar.bz2

[root@centos ~]# gdrive delete 0B2q6qjwlkHGuVGhrY2I5QU9aM28 ← バックアップファイルをgdriveから削除
Deleted 'backup.tar.bz2'

[root@centos ~]# gdrive list -q "name = 'backup.tar.bz2'" ← 削除確認
Id   Name   Type   Size   Created

■バックアップデータをGoogleドライブへ保存

自動バックアップ運用でサーバー内のディスクに保存したバックアップデータをGoogleドライブへ保存する。

[root@centos ~]# vi backup_to_gdrive.sh ← gdriveバックアップスクリプト作成
#!/bin/sh

# バックアップファイル名定義
BACKUPFILE=/backup/backup.tar.bz2

# 開始メッセージ出力
echo "started." | logger -t `basename ${0}`

# 旧バックアップ削除
/usr/local/bin/gdrive list -q "name = '$(hostname)-$(basename ${BACKUPFILE})'" | logger -t `basename ${0}`
OLDBACKUPLIST=`mktemp`
/usr/local/bin/gdrive list --no-header -q "name = '$(hostname)-$(basename ${BACKUPFILE})'" | awk '{print $1}' > ${OLDBACKUPLIST}
for oldbackup in `cat ${OLDBACKUPLIST}`
do
    /usr/local/bin/gdrive delete ${oldbackup} | logger -t `basename ${0}`
done
rm -f ${OLDBACKUPLIST}

# バックアップ
/usr/local/bin/gdrive upload --no-progress ${BACKUPFILE} --name $(hostname)-$(basename ${BACKUPFILE}) | logger -t `basename ${0}`

# バックアップ確認
/usr/local/bin/gdrive list -q "name = '$(hostname)-$(basename ${BACKUPFILE})'" | logger -t `basename ${0}`
NEWBACKUP=`/usr/local/bin/gdrive list --no-header -q "name = '$(hostname)-$(basename ${BACKUPFILE})'" | awk '{print $1}'`
[ -z "${NEWBACKUP}" ] && echo "backup to gdrive NG." | mail -s "backup to gdrive NG." root

# 終了メッセージ出力
echo "ended." | logger -t `basename ${0}`

exit 0

[root@centos ~]# chmod +x backup_to_gdrive.sh ← gdriveバックアップスクリプトへ実行権限付加

[root@centos ~]# sh backup_to_gdrive.sh ← gdriveバックアップスクリプト実行

[root@centos ~]# gdrive list -q "name = '`hostname`-backup.tar.bz2'" ← バックアップ確認
Id                             Name             Type   Size    Created
0B2q6qjwlkHGuVGhrY2I5QU9aM28   backup.tar.bz2   bin    2.0 B   2017-01-09 13:13:02

Googleドライブでもバックアップを確認

[root@centos ~]# sed -i '/backup.sh/s/$/ \&\& \/root\/backup_to_gdrive.sh/g' /etc/cron.d/backup ← 自動バックアップ運用との連携



▲このページのトップへ戻る

LPIロゴ Copyright© 2005-2017 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします