rcloneを使ったVPSのGoogle Drive自動バックアップ
はじめに
以前、レンタルサーバーからVPSへ移行する手順について こちらの記事 で紹介しました。
サーバー移行後、サイトの表示速度が大幅に改善されたのですが、運用していく中で「もしもの時のためにバックアップを取りたい」という課題が出てきました。
そこで、rclone というツールを使って、VPS上のデータを Google Drive に自動バックアップする仕組みを構築したので、その方法をまとめました。
rcloneとは?
rclone は、クラウドストレージとローカルストレージを同期・バックアップできるオープンソースのツールです。Google Driveだけでなく、Dropbox、Amazon S3、OneDriveなど多数のクラウドサービスと連携できます。
rcloneのインストール
まず、VPSにrcloneをインストールします。
Ubuntuの場合
sudo apt update
sudo apt install -y rclone
macOSの場合
brew install rclone
インストールが完了したら、バージョンを確認しておきます。
rclone version
問題なく表示されればOKです。
Google Driveとの連携設定
- rcloneの設定を開始
rclone config
-
新しいリモート(remote)を追加
-
n
を入力(新規追加) - 名前(remote name)を
gdrive
に設定(任意の名前でOK)
-
-
ストレージの種類を選択
-
Google Drive
を選択(リストの中にあります)
-
-
認証情報の設定
- クライアントIDとシークレットは通常空のままでOK(Enter)
- 認証方法として
1 (Full access)
を選択
-
Google Driveにログインして認証
- 「auto configを使うか?」と聞かれたら、リモートサーバーなら
No
を選択 -
https://accounts.google.com/o/oauth2/auth?client_id=...
のようなURLが表示されるので、ローカルPCでブラウザを開いて認証を行う - 認証コードをコピーして、VPSのターミナルに貼り付け
- 「auto configを使うか?」と聞かれたら、リモートサーバーなら
-
設定の確認と保存
- 設定を保存して終了
rclone listremotes
gdrive:
が表示されれば、Google Driveとの接続が完了です。
バックアップスクリプトの作成
サーバーの特定のディレクトリをGoogle Driveに定期的にアップロードするスクリプトを作成します。
nano /home/ubuntu/backup.sh
以下の内容を記述して保存します。
#!/bin/bash
# バックアップ対象のディレクトリ
BACKUP_DIR="/var/www/html"
# Google Driveの保存先フォルダ(Google Drive上のパス)
GDRIVE_DIR="gdrive:/backup/$(date +"%Y-%m-%d")"
# 圧縮してバックアップ
BACKUP_FILE="/tmp/backup_$(date +"%Y-%m-%d").tar.gz"
tar -czvf $BACKUP_FILE $BACKUP_DIR
# Google Driveにアップロード
rclone copy $BACKUP_FILE $GDRIVE_DIR
# ローカルの一時ファイルを削除
rm $BACKUP_FILE
# ログ出力
echo "Backup completed at $(date)" >> /var/log/backup.log
スクリプトに実行権限を付与します。
chmod +x /home/ubuntu/backup.sh
自動実行の設定(cron)
毎日深夜3時にバックアップを自動実行するように設定します。
crontab -e
以下の行を追加。
0 3 * * * /home/ubuntu/backup.sh
cronを再起動して適用。
sudo systemctl restart cron
バックアップの確認
手動でスクリプトを実行して、正常に動作するか確認します。
/home/ubuntu/backup.sh
エラーが出ずに終了すれば、Google Driveにバックアップが保存されているか確認してみましょう。
rclone ls gdrive:/backup
アップロードされたファイルが表示されれば成功です!
まとめ
この手順を実施することで、VPSのデータをGoogle Driveに自動バックアップできます。
ポイントまとめ
✅ rcloneを使うことで簡単にクラウドバックアップが可能
✅ Google Driveにバックアップを保存して万が一に備える
✅ cronで自動実行して手間を省く
✅ バックアップの削除も考慮して、定期的に古いバックアップを整理する
この仕組みを導入すれば、VPSのデータ消失のリスクを大幅に軽減できます。ぜひ試してみてください!
Discussion