サーバー内のコンテンツを毎日バックアップして、GoogleDriveへ保存する方法です。
以前VMでWindowsマシンが動作していたので、こういったバックアップをしていましたが、今回はCentOS内でバックアップする方法を。
(1)tarでバックアップなど
以前の記事を参照してもいいし、あらためて必要なフォルダをtarでバックアップしておきます。スクリプトを毎日cronで回すのもよいですよね。
[/etc/cron.d/kenti_backup] # #kenti.jp backup crontab 2017/11/28 # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin MAILTO=******@**** 00 5 * * * root /var/backup/_backup_log.sh 10 5 * * * root /var/backup/_backup.sh 30 5 * * * root /var/backup/_gdrive_backup.sh
(2)gdriveでバックアップ
GoogleDriveをCLIで使用するgdriveを使用します。最新版はリンクからダウンロードしてください.
# wget -O gdrive "https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download" # chmod +x gdrive # mv gdrive /usr/local/bin
とりあえずファイルの配置をした後、初期設定をします。
# gdrive Go to the following link in your browser: https://accounts.google.com/o/oauth2/auth?client_id=.................. Enter verification code: (上記のURLにアクセスし、Googleアカウントを入力後認証コードが表示されるので入力)
その後、下記のコマンドを入力してみます。
# gdrive list Id Name Type Size Created 1pBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx backup.tar.gz bin 900.0 KB 2017-11-26 14:55:02 1Ipxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx backuplog.sql bin 806.2 KB 2017-11-26 14:53:49 : :
フォルダの一覧などが表示されます。
単純な使い方として、同期したいフォルダをgdriveで指定すると、同期をしてくれます。ここでは例として、/var/backupへ保存してあるフォルダをそのままgdriveへsyncさせます。
# gdrive sync upload /var/backup/ xxxxxxxxxxx(gdriveのIdとして表示されるフォルダなど)
リモートバックアップとしてはかなり便利です。
※2017/12/09追記
上記のコマンドですと、ローカルのファイルが消えても、GoogleDriveへ残ったままの設定となります。
ローカルからファイルが消えたら、リモートのGoogleDriveフォルダも同様にファイルを消したいなら、下記のようにオプションスイッチをつけるとよいですね。
# gdrive sync upload --delete-extraneous /var/backup/ xxxxxxxxxxx(gdriveのIdとして表示されるフォルダなど)