MacでGoogle Driveをマウント・アンマウントするシェルスクリプト

前提条件

  • MacにHomebrewがインストールされていること

  • macFUSEがインストールされていること

  • rcloneの公式バイナリ(brew版ではダメ)がインストールされていること


Step 1: 必要なツールのインストール

1. Homebrewのインストール

Homebrewがまだインストールされていない場合は、以下のコマンドでインストールします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. macFUSEのインストール

macFUSEは、rclone mountコマンドを使用するために必要です。

brew install --cask macfuse

3. rcloneのインストール

Homebrew経由ではなく、公式サイトから直接ダウンロードしてインストールします。

入っている場合はHomebrew版rcloneのアンインストール:

brew uninstall rclone

公式サイトからrcloneをダウンロード:

公式サイト rcloneのダウンロードページ にアクセスし、Mac用のバイナリをダウンロードします。

ダウンロードしたバイナリを解凍し、適切な場所に移動:

unzip rclone-v1.xx.xx-osx-amd64.zip
sudo mv rclone-v1.xx.xx-osx-amd64/rclone /usr/local/bin/
sudo chmod +x /usr/local/bin/rclone

※実行権限を追加し、システム環境設定で権限を追加する必要がありますが、それでも実行できない場合があります。その際は、/usr/local/bin/ディレクトリに直接移動し、一度、Control+クリックで直接実行させてください。
※Homebrew経由でインストールされた場合、rclone mountコマンドはサポートされていないため、直接バイナリを入れる必要があります。

Step 2: rcloneの設定

以下のコマンドを実行して、Google Driveをrcloneに設定します。

rclone config

表示されるメニューに従って設定を行います。リモートの名前を mydrive とします。

Step 3: Google Driveをマウントするスクリプト

次に、Google Driveをデスクトップにマウントするためのシェルスクリプトを作成します。以下の内容を mount_google_drive.sh というファイル名で保存します。

#!/bin/bash

# デスクトップにマウントするディレクトリを指定
MOUNT_POINT=~/Desktop/GoogleDrive

# ログファイルのパスを指定
LOG_FILE=~/Desktop/rclone_mount.log

# マウントポイントが存在しない場合は作成
if [ ! -d "$MOUNT_POINT" ]; then
  mkdir -p "$MOUNT_POINT"
fi

# 既存のログファイルを削除
if [ -f "$LOG_FILE" ]; then
  rm "$LOG_FILE"
fi

# rcloneを使用してGoogle Driveをマウントし、ログファイルに出力
rclone mount mydrive: "$MOUNT_POINT" --vfs-cache-mode writes --allow-non-empty --log-file "$LOG_FILE" --log-level DEBUG --daemon

# マウントが成功したかどうかを確認
if mount | grep "$MOUNT_POINT" > /dev/null; then
  echo "Google Drive is mounted at $MOUNT_POINT"
else
  echo "Failed to mount Google Drive. Check the log file at $LOG_FILE for more details."
fi

スクリプトに実行権限を付与し、実行します。

chmod +x mount_google_drive.sh
./mount_google_drive.sh


Step 4: Google Driveをアンマウントするスクリプト

次に、Google Driveをアンマウントするためのシェルスクリプトを作成します。以下の内容を unmount_google_drive.sh というファイル名で保存します。

#!/bin/bash

# デスクトップにマウントされたディレクトリを指定
MOUNT_POINT=~/Desktop/GoogleDrive

# マウントポイントが存在するか確認し、アンマウント
if mount | grep "$MOUNT_POINT" > /dev/null; then
  umount "$MOUNT_POINT"
  if [ $? -eq 0 ]; then
    echo "Google Drive is unmounted from $MOUNT_POINT"
  else
    echo "Failed to unmount Google Drive from $MOUNT_POINT"
  fi
else
  echo "$MOUNT_POINT is not mounted"
fi

スクリプトに実行権限を付与し、実行します。

chmod +x unmount_google_drive.sh
./unmount_google_drive.sh

これで、Google Driveをデスクトップにマウントおよびアンマウントするためのシェルスクリプトが完成です。必要に応じて、各スクリプトを実行するだけで、Google Driveを簡単に操作できるようになります。

この記事が気に入ったらサポートをしてみませんか?