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を簡単に操作できるようになります。
この記事が気に入ったらサポートをしてみませんか?