【MacでpCloudを自動化!】Automatorで任意のフォルダを任意のタイミングで簡単バックアップする方法!
- 2025/06/26
- HowTo
ただ、『pCloud』の同期方法や仕様、挙動などが少々わかりにくい点があるんですよね。なんとか把握はできても、久しぶりに使うと『これ、なんやっけ?どっちやっけ?』となってしまう。。
そんなわけで今回は、『pCloud』の仕様や挙動の覚書と、使い勝手が格段に良くなる『Automatorのクイックアクションを使って、任意のフォルダを任意のタイミングで簡単バックアップする方法!』です。
目次
- pCloudの機能『アップロード・バックアップ・同期』の違い
- 『ABCバックアップ』の流れ
- 任意のフォルダを任意のタイミングで簡単バックアップする方法
- バックアップの注意点
- まとめ
- おまけ::クイックアクションで作業効率化!

『Automatorのクイックアクション』で作業を楽にするその他の方法
pCloudの機能『アップロード・バックアップ・同期』の違い
種類 | 説明 | 反映の方向 | 自動更新 | 削除の影響 |
---|---|---|---|---|
アップロード | pCloudへ「コピー(アップロード)」するだけ。 Webやアプリから手動で保存する方法。 | 一方向 PC → クラウド | なし | クラウドで削除しても PCに影響なし |
バックアップ | pCloudへ「コピー」後、変更が自動で反映される。 「Backups」領域でのみ管理・使用できる。 | 一方向 PC → クラウド | あり (変更を反映) | PCで削除しても クラウドに残る |
同期 | 変更はリアルタイムで双方向に反映されるので便利だが、削除も連動されるので注意が必要! | 双方向 PC ↔ クラウド | あり (変更・削除も反映) | どちらかで削除 → もう一方も削除 |
- バックアップは「Backups」領域外での管理・使用は不可
- バックアップや同期には「変更履歴(バージョン管理)」があり、保存期間は15日間(有料で30日以上の保存も可)
こうやって比較すると、やっぱり『バックアップ』が一番便利!なんですよね。用途は人それぞれなので個人的意見にはなりますが。
ただこの『pCloud』の『バックアップ』機能は、『pCloud』標準の機能をそのまま使う方法だと、「Backups」領域でしか機能してくれない!んです。
要は、ローカルの任意の階層のフォルダと、pCloudに同じ階層を作ってフォルダを設定することはできない=同階層の同じフォルダだけを『バックアップ』で連動させることはできないんです。
必ず「Backups」領域にそのフォルダを持ってきて管理する必要があるということなんです。
これだと、どのSSDのどのフォルダを『バックアップ』してるのかわからなくなってしまいますよね?
わかりやすくFinderを比較するとこんな感じです。
これだと階層がずれてるので「あれ?これどこのフォルダやっけ?どこで管理してたんやっけ?」となりますよね?
そんなわけで、どうしても階層を連動させて管理したく、『Automator』を使ってバックアップしたのが以下になります。
これなら階層が同じなので、どのデバイスのどの階層のどのフォルダなのかが、パッと見て判断できる!ので、混乱することはなくなりますよね?
これがやりたくて『pCloud』のサポートの方に色々聞いてみたのですが、残念ながら標準機能ではできないとのこと。
ということで、何とかできないものかと考えて調べて辿り着いたのが『Automatorで任意のフォルダを任意のタイミングで簡単バックアップする方法!』だったんです。
せっかく買い切りで『pCloud』を契約したので、一生涯使いづつける、ということを考えたら、やっぱりわかりやすくて使いやすい方がいい!ですしね。
『ABCバックアップ』
『pCloud』の標準「バックアップ」機能と、ここで紹介する「バックアップ」機能は、挙動や管理方法、使い方も全然違ってきます。
混乱を避けるため、ここでは『任意のフォルダを任意のタイミングで簡単バックアップする方法』のことを、『ABCバックアップ』と呼ぶことにします。
また、スクリーンショットやスクリプト内では「pCloudバックアップ」と表記されてますが、そこはご了承ください。
『ABCバックアップ』の流れ
すると、まず右上の通知に、このように開始通知が現れます。
開始が始まると、スクリプトの歯車アイコンがメニューバーに現れます。
スクリプトの処理が完了すると、完了の通知が現れます。
スクリプト処理は完了してますが、バックアップ作業は終わっていません。 rsyncではこの情報の取得ができず通知が出せないので、その注意書きを出しています。
完了は『pCloud』のフォルダのアイコンで確認してください。
「更新中のアイコン」→「☑️チェックアイコン」に変わったら完了です!
任意のフォルダを任意のタイミングで簡単バックアップする方法
これだけです!設定は少々大変ですが、これさえできれば超簡単!& 超便利!!に「バックアップ」ができるようになります!
1 『pCloud』に、バックアップしたい任意のフォルダを作成する
2 『Automator』のクイックアクションを作成し、スクリプトを記述する
2-1. 『Automator』を起動→「クイックアクション」を選択する
まずは『Automator』を起動し、
メニューバーの
ファイル/新規 (or ショートカット:command+N)
から「クイックアクション」を選択します。
2-2. 「ワークフロー」を作成する
クイックアクションの画面の作成画面がでてきたら、以下のプルダウンメニューから、
ワークフローが受け取る現在の項目:には「ファイルまたはフォルダ」
検索対象 :には「Finder」
画像 :には「更新」
をそれぞれの項目から選択します。(この「更新」部分、「画像」を更新するわけではないのですが、今のところ「画像」になってるので、そこはもしかしたら今後変更されるかもです。)
次に実行するアクションを左から右に取り込んでくるのですが、まずは検索窓で『シェルスクリプトを実行』の項目を検索して探します。
これをワークフローを作成するには、ここにアクションまたはファイルをドラッグしてください。と書いてあるスペースに、ドロップ&ドラッグで取り込んでセットします。
ここにシェルスクリプトを書いていきます。
2-3. 「スクリプト」を記述する
ここでは『rsync(アールシンク)』と言うコマンドを使って、シェルスクリプトを書いていきます。
『rsync(アールシンク)』とは何かというと、簡単にはMacに標準搭載されている、ファイルのコピーや同期を行うための非常に強力なコマンドツールのことで、差分(更新・追加分)のみを選択してバックアップする、といった複雑な設定が必要な今回のような作業には、ぴったりのツール! なんです。
そんなわけで今回はこのrsyncを使って進めるのですが、長くなるので前半後半に分けます。
当たり前ですがフォルダの設定等は、このままでは動きません!ので、必ず中身は適宜変更してくださいね。
rsyncスクリプト本体の記述
# 外部ディスク『☆ドライブ名 > ★バックアップ対象にするフォルダ名』を、pCloudのファイルと連動してバックアップ(更新分・差分)させるスクリプト # 更新したいフォルダ毎に設定すること!!(rsyncの行を追加) # ログファイルの出力先(デスクトップに出力させるパス:任意の場所でOK) LOG_FILE="/Users/〇〇/Desktop/rsync_log_☆ドライブ名-★バックアップ対象にするフォルダ名.html" # バックアップ対象のフォルダリスト(転送元パス) # ここにバックアップしたいフォルダを並列で記載 SOURCE_FOLDERS=( "/Volumes/☆ドライブ名/★バックアップ対象にするフォルダ名/☆/" "/Volumes/☆ドライブ名/★バックアップ対象にするフォルダ名/your-site.jp/" "/Volumes/☆ドライブ名/★バックアップ対象にするフォルダ名/webdesign-abc.com/" #"/Volumes/☆ドライブ名/★バックアップ対象にするフォルダ名/test/" #テスト用:チェックしたい時はここだけONに ) # 「バックアップ開始」の通知を設定 (これはmacOSの通知センターに表示されます) osascript -e 'display notification "pCloudバックアップ([Music SSD])を開始しました" with title "rsync通知"' ALL_SYNC_SUCCESS=true # 全てのバックアップが成功したかを示すフラグ SUCCESS_RSYNC_SUMMARY="" # 成功時のrsync要約情報を格納する変数 ERROR_RSYNC_SUMMARY="" # エラー時のrsyncエラー行のみを格納する変数 # バックアップ処理のループ for SOURCE_PATH in "${SOURCE_FOLDERS[@]}"; do # 転送先パスの生成 (pCloud Drive内の同じ階層) DEST_PATH="/Users/〇〇/pCloud Drive${SOURCE_PATH#/Volumes}" # rsyncを実行し、標準出力と標準エラー出力を全て一時変数に格納 CURRENT_RSYNC_OUTPUT=$(rsync -av --update "$SOURCE_PATH" "$DEST_PATH" 2>&1) # rsyncの出力から要約情報のみを抽出(成功時用) SUCCESS_RSYNC_SUMMARY+="--- バックアップ開始: $(date '+%Y/%m/%d %H:%M:%S') ---\n" SUCCESS_RSYNC_SUMMARY+="$SOURCE_PATH\n" # ★ バックアップのフォルダ ★ SUCCESS_RSYNC_SUMMARY+=$(echo "$CURRENT_RSYNC_OUTPUT" | grep -E "Transfer starting:|sent |total size is |speedup is" | grep -v "^$") # 空行を除外 SUCCESS_RSYNC_SUMMARY+="\n" SUCCESS_RSYNC_SUMMARY+="--- バックアップ完了: $(date '+%Y/%m/%d %H:%M:%S') ---\n" SUCCESS_RSYNC_SUMMARY+="\n" # ★ 各バックアップの後に空行を入れる ★ # エラーメッセージを抽出 # rsyncの生出力をそのまま格納 : 必要情報だけ表示させようとすると、一つだけしか表示されないので全体を出力することに ERROR_MESSAGES="$CURRENT_RSYNC_OUTPUT" # ★ フィルタリングをせず、rsyncの出力を全て格納 ★ if [ $? -ne 0 ]; then # rsyncの終了コードが0以外の場合のみエラーと判定 # エラー時の追加情報をERROR_RSYNC_SUMMARYに追記 ERROR_RSYNC_SUMMARY+="--- バックアップ開始:$(date '+%Y/%m/%d %H:%M:%S') ---\n" ERROR_RSYNC_SUMMARY+="\n" ERROR_RSYNC_SUMMARY+="【エラー発生:$(date '+%Y/%m/%d %H:%M:%S')】\n" ERROR_RSYNC_SUMMARY+="エラー対象: $SOURCE_PATH\n\n" # 抽出したエラーメッセージを直接追加 ERROR_RSYNC_SUMMARY+="$ERROR_MESSAGES\n" # ★ ここを CURRENT_RSYNC_OUTPUT から ERROR_MESSAGES に戻します ★ ERROR_RSYNC_SUMMARY+="\n【エラー情報ここまで】\n\n" ALL_SYNC_SUCCESS=false fi done
設定さえきちんとできていれば、ここまででも問題なく動作するはずです。
ただ、エラーが出た時や進行状況の把握、どのファイルがバックアップできたか等も把握するために、通知やログを出力する機能も追加します。
ログ出力と通知機能のスクリプトの記述
# --- 全ての処理が完了した後、最終HTMLログファイルを生成(上書き) --- # HTMLファイルの冒頭部分を書き込み echo "<!DOCTYPE html><html lang='ja'><head><meta charset='UTF-8'></head>" > "$LOG_FILE" echo "<body style='text-align:center;'>" >> "$LOG_FILE" if $ALL_SYNC_SUCCESS; then # 「バックアップ完了」の通知を設定 (macOSの通知センターに表示) osascript -e 'display notification "「☆ドライブ名」のバックアップの処理は完了しましたが、pCloudへのアップロードは進行中です" with title "rsync通知"' osascript -e 'display notification "終了まで数分〜数日かかる場合がありますので、作業が完了するまでは、スリープはしないでください" with title "rsync通知"' # バックアップが成功した場合のログメッセージ echo "<h1 style='background:#eee;'>★★★「☆ドライブ名 > ★バックアップ対象にするフォルダ名」のpCloudバックアップ処理が完了しました★★★</h1>" >> "$LOG_FILE" # バックアップが成功した時のログメッセージ(rsync要約情報)を表示 echo "<pre style='background:#fdfbd7; padding:20px 50px; border:1px solid #ccc;width:fit-content;margin:0 auto;white-space:pre-wrap;max-height:400px;overflow:auto;'>" >> "$LOG_FILE" echo -e "$SUCCESS_RSYNC_SUMMARY" | sed '/^$/N;/^\n$/D' >> "$LOG_FILE" echo "</pre>" >> "$LOG_FILE" # 成功時の表示 echo "<p>下記フォルダのアップロードのバックアップ処理(スクリプト処理)は完了しましたが、<br><span style='color:red;font-weight:bold;'>pCloudへのアップロードはまだ進行中です。</span></p>" >> "$LOG_FILE" echo "" >> "$LOG_FILE" echo "<ul style='width:fit-content;margin:0 auto;text-align:left;font-weight:bold;background:#eee;padding:15px 20px 15px 40px;'>" >> "$LOG_FILE" for folder in "${SOURCE_FOLDERS[@]}"; do # フォルダリストはループで自動生成 echo " <li>$folder</li>" >> "$LOG_FILE" done echo "</ul>" >> "$LOG_FILE" echo "" >> "$LOG_FILE" echo "<p>終了までは数分〜数日かかる場合がありますので、<br>アップロード中は<span style='font-weight:bold;'>スリープや終了はせず</span>、また<span style='font-weight:bold;'>このファイルも削除せず</span>、<br><span style='font-weight:bold;color:red;'>アップロードが完了したのを確認してから、このファイルを削除してください。</span></p>" >> "$LOG_FILE" echo "" >> "$LOG_FILE" echo "<h2 style='color:gray;background:#eee;margin-top:35px;'>■■■ アップロード完了の確認方法 ■■■</h2>" >> "$LOG_FILE" echo "<ol style='width:fit-content;margin:0 auto;text-align:left;font-weight:bold;'>" >> "$LOG_FILE" echo " <li>Finderの<span style='color:#1bd3dd;'>「pCloud Drive」のステータスアイコン</span>を<span style='color:red;'>チェック!</span>する:<span style='color:#1bd3dd;'> [●ロード中アイコン] </span>→<span style='color:#5dbe00;'> [●チェックアイコン] </span>に変わったら<span style='color:red;'>OK!</span></li>" >> "$LOG_FILE" echo " <li>反映はリアルタイムじゃないので、<span style='color:blue;'>容量の増加が止まった時が完了の「目安」</span></li>" >> "$LOG_FILE" echo " <li>リアルタイムの進行状況は<span style='color:blueviolet;'>「アクティビティモニタ」の [CPU・ディスク・ネットワーク] </span>で<span style='color:red;'>チェック!!</span>するのが確実</li>" >> "$LOG_FILE" echo " <li>「pCloud Drive」を再起動→アイコンが更新されるので、それで最終確認。<span style='color:red;'>全部アイコンが変われば完了!</span></li>" >> "$LOG_FILE" echo "</ol>" >> "$LOG_FILE" echo "<h2 style='color:gray;background:#eee;'> </h2>" >> "$LOG_FILE" else # ALL_SYNC_SUCCESS が false の場合 (失敗時) # 「バックアップ失敗」の通知を設定 (macOSの通知センターに表示) osascript -e 'display notification "pCloudバックアップ([☆ドライブ名])のバックアップに失敗しました" with title "rsync通知"' osascript -e 'display notification "エラーログを確認してください: '$LOG_FILE'" with title "rsync通知"' # バックアップが失敗した時のログメッセージ echo "<h1 style='background:#fdd;color:red;'>★★★pCloudバックアップ処理中にエラーが発生しました★★★</h1>" >> "$LOG_FILE" echo "<p>一部のフォルダのバックアップに失敗した可能性があります。<br>詳細は下記のログを確認してください。</p>" >> "$LOG_FILE" # 「以下のログ」を「上記のログ」に修正 echo "<pre style='background:#fdfbd7; padding:20px; border:1px solid #ccc;width:fit-content;margin:0 auto;white-space:pre-wrap;max-width:1000px;overflow: auto;'>" >> "$LOG_FILE" echo -e "$ERROR_RSYNC_SUMMARY" | sed '/^$/N;/^\n$/D' >> "$LOG_FILE" # エラー/警告行のみを表示 echo "</pre>" >> "$LOG_FILE" fi echo "</body></html>" >> "$LOG_FILE"
こんな感じに出力されてくれます。
htmlで出力されるlogサンプル
簡単に確認したいだけなら、もっとシンプルに記述も可能です。最初はこんな感じで作ってました。
ですが、どうせ長く使っていくなら見やすい方がいいよな。
ってことで、個人的に見やすいファイルにしてます。
機能重視!シンプルな方がいい!って方は、適宜シンプルに変更してください!
2-4. 「ファイル」を保存する
作成したファイルを
ファイル/保存 (or ショートカット:command+S)
で保存すれば、準備は完了です!
3 クイックアクションを実行する
超便利!
ちなみに、左にある『pCloud』アイコンのついた「バックアップをする」のメニューは、を『pCloud Drive』のアクションなので、任意のフォルダをバックアップはしてくれません! ので、ご注意くださいね。
『ABCバックアップ』の注意点
そう言うわけでこの記事を作った、というのもあるのですが、久々に『ABCバックアップ』をすると、挙動が『pCloud』標準のものではないので、少し把握しずらい点があります。ということで何点か注意点を書いておきます。
バックアップ中のステータス表示はでない
『pCloud』標準のバックアップでは、このようにステータスが表示されますが、『ABCバックアップ』では表示されません。
ですので、バックアップのステータスを知りたい場合は、『pCloud』フォルダのアイコンをチェックして確認してください。
ローカルの容量は余裕を持って作業する
この記事を書いていて、間違いや不具合はないか色々試していたのですが、なぜかバックアップ完了の通知はでたのに、アイコンが変わらない!と言う現象がでてきたんですよね。
結論から言うと、これは『pCloud Drive』側の問題なので、こうなった時はまず『pCloud Drive』を再起動したら解決することが多いです。それでも出てこない場合は、Macの再起動すれば大体アイコンは正常に連動してくれるようになります。
ただ、更新中のアイコンでも、チェックのアイコンでもない、見たことのないビックリマークアイコンが出てきたんですよね。
これは『pCloud Drive』がローカルディスクにファイルを一時的に保存し、そこからクラウドにアップロードする、という動作が関係しているようです。
ですので、もしローカルディスクの空き容量が不足していた場合は、ファイルを適切に保存・処理ができないため、クラウドの『pCloud』フォルダ内へのアップロードができず、このような注意アイコンが出てくるようですね。
なので、このようなアイコンが出た場合は、まずローカルの容量を確保してみてください。キャッシュが容量を食いまくってる、いうこともあるので、パソコンの再起動で解決する場合もあります。
ですがこれが出る場合は容量が少ないことは確かかと思いますので、SSDやHDD内のいらないファイルの削除等、いい機会だと思ってメンテナンスしてください。
まとめ
でも諦めずにやったおかげで、なんとか使いやすく、そして把握もしやすい、最強の『pCloud』になった!ので、今後使い続けることを考えると、よかったのかな。と思ってます。
同じように、もうちょっと使いやすく、わかりやすくならんかなぁ。と思ってる方、最初の設定は大変ですが、ぜひやってみてください!
ちなみにこの方法は、外部ディスクを、『pCloud』のファイルと連動(更新分・差分をバックアップ)させる方法になりますので、内蔵ディスクとの連動であれば、もっと簡単な方法があるかも?ですが、、、そこは考慮せず作ってます。
おまけ:クイックアクションで作業効率化!
以前からこの機能は使っていて、別ブログの『MacでAutomatorのクイックアクションで楽をする!pngをjpgに!画像の種類・サイズ・名前の変更・統一、作成したアクションの編集・削除も!』に書いたことがあるのですが、
画像編集を毎日やっているような方にとっては、かなり便利な機能! なので、作業時間の短縮に必ずつながるはずですので、気になる方はぜひ使いこなしてみてくださいね!
Google AdS
関連記事
-
SNS等の公式ロゴ(アイコン)素材のまとめ(Facebook, Instagram, Youtube, Twitter, Line etc.)
一度サイトを作ってしまうとなかなか更新せず使い回してしまうのが、この『SNSのロゴ(アイコン)』だと思うのですが、サイト…
-
WordPress:特定カテゴリで投稿を古い順に表示させる方法
Wordpressの投稿の表示は、デフォルトでは新しいものから表示されますよね。でも特定カテゴリーでは反対(投稿した順番…
-
これは便利!!WordPressの投稿内に、管理者やログインユーザーにしか見れないメモを残す方法
よく投稿を途中まで作って、なかなか仕上げれずに長い期間あいてしまうと『これなんのサイト参考にしてたんやっけ?』とか『え〜…
-
ページネーションがおかしい!次のページに行かない原因と解決方法|WP-Pagenavi・表示設定を見直す
今まで何度もWordPressのテンプレートをカスタマイズし、問題なくページネーションは機能していたのですが、なぜか今回…
-
WordPressのデータベースのテーブル接頭辞を、phpMyAdminで変更する方法
最近サーバーを変更してWordPressの引っ越しをしたのですが、引っ越し前のサーバーの初期設定でWordPressのデ…