ラベル G Suite ユーザ会 の投稿を表示しています。 すべての投稿を表示
ラベル G Suite ユーザ会 の投稿を表示しています。 すべての投稿を表示

2019年6月17日月曜日

【Windows専用】Google Drive File Stream のキャッシュフォルダをクリアするバッチファイル

Google Drive File Steamを仕事で利用することが多くなり、時々同期に失敗して初期化(アプリを終了 > キャッシュフォルダの名前変更 > アプリの起動)する必要が生じます。台数が多いと、結構手間です。そのため、それを自動でやってくれるバッチファイルを作成してみました。


に公開しています。GitHUB で基本的なことを説明してます。ここでは図を使って補足説明をします。

注意点


キャッシュフォルダ:%LOCALAPPDATA%\Google\DriveFS

Google Drive File Stream 上の Google Driveフォルダに保存する場合、

1. 端末のキャッシュフォルダにデータを一旦保存して
2. キャッシュフォルダに保存したデータを Googleドライブと同期
3. キャッシュフォルダに保存したデータを削除

の動作をしているようです。

問題ない事例


Google Drive(https://drive.google.com)に同期できているのに、他の端末では表示されない場合には Google Drive File Stream のキャッシュフォルダ内データがおかしくなっている可能性があります。そのため、キャッシュフォルダを削除することで直る場合があります。

データが消えてしまう可能性のある事例


端末上は Google Drive に入っているはずなのに、Google Drive(https://drive.google.com)をみると存在しない場合には、同期がうまくいっていません。その場合には、キャッシュフォルダにデータが入ったままになっています。
その状態でキャッシュフォルダを削除するとデータが消えてしまう恐れがあります。

そのためこのバッチファイルはキャッシュフォルダの名前変更はしますが、キャッシュフォルダそのものは削除しません。様々な状況が考えられるためです。

このバッチファイルは、なにをしているのか


キャッシュフォルダ:%LOCALAPPDATA%\Google\DriveFS

  1. Google Drive File Stream ソフトを強制終了
     *2秒待ちます。まだソフトが終了しきれていない場合があり、 2 のフォルダの名前変更が失敗するケースがあったためです。
  2. キャッシュフォルダの名前変更(DriveFSをDriveFS2へ) *もし名前変更した DriveFS2が存在すれば、先にそれを別の場所に移動するか削除するように警告メッセージを出して終了します。そして、下図のようにキャッシュフォルダの存在するフォルダを開きます。
  3. Google Drive File Streamを起動します。
     *コマンドプロンプトは、そのまま閉じるか、何かキーを押すと閉じます。

うまくいった場合のメッセージ


下図のように、ソフトを終了し、名前変更し、起動します。

 

タスクバーに Google Drive File Streamアイコンが複数出てしまった場合




のように複数出てしまった場合、実際には終了していますがアイコンとして消えるのが遅れている状態です。アイコンのところにマウスポインターを合わせると勝手に消えて、


のように1つになるでしょう。

2019年6月17日 @kimipooh

2017年8月22日火曜日

【G Suite 専用】G Suite ユーザー会 EDU分科会参加 - Google Drive CLI Client ツール による Google Drive 制御

8/21、G Suiteユーザー会初EDU分科会が Google東京オフィス内で開催されました。

初めての EDU分科会ということで G Suite for Education を導入している教育機関ならではの事例や悩みなどを聞けるかなぁと思ってワクワクしていました。

内容についてどこまで公開可能か分からないので、ここで詳細をお伝えするのは控えておきます。個人的にはいろいろためになる話が聞けて参加してよかったなぁと思います。最後にあったディスカッション(アンカンファレンス)もかなり面白かったのですが、時間が押していたこともあり、中途半端で終わってもったいなかったなーと思いました。今回2時間でしたが、これは3時間ぐらい欲しいかなというところです。

さて、紹介のみされた Google Drive CLI Client ツールについて、実際に MacOS Sierra (10.12.6)と Linux (Redhat EL 6)で動作確認したので、やり方について載せておきます。これは一般 Googleドライブでもできるはずです。

Google Drive CLI Client ツール


今回の一番大きな収穫はこれかなと思いました。
G Suite for Education の強みは、容量無制限の Google Drive が使えることです。
それを利用すれば、サーバーのバックアップも Google Drive に保存すると有効活用できると思いませんか。WordPress のプラグインで Google Drive に保存することもやったりしていましたが、時々認証問題でこけることがあります。これが WordPress のコマンドツール WP-CLIのように、コマンドベースで Google Drive に保存できるとなると、バックアップとしてかなりつかえるんじゃないかと期待しています。
このあたりは実際にやってみて、別途本ブログでまとめてみたいと思います。

インストール方法(MacOSX 編)


インストールは、Homebrew が入っていれば、 ターミナルアプリより
  • brew install gdrive 
でインストールできます。

Linux や MacOSXのネイティブコードが
にあるので、ここからダウンロードして実行権限をつけると利用できます。然るべきパスに配置(/usr/local/binなど)におけば便利に利用できるかと思います。ただ入れなくても使えます(AMIMOTOで使えたよ!)。また、ユーザーごとにできるのがよいですね!設定ファイルが「$HOME/.gdrive/token_v2.json」に保存されます。

利用準備


まずはじめに、Googleアカウントとの接続が必要です。

下図がその手順①から④になります。

① gdrive list 

というコマンド入力して、Enterを押すと、

Authentication needed
Go to the following url in your browser:https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=......

と出て来るので、ブラウザにURLをコピーしてアクセス。
利用したいGoogleアカウントでログインし、gDriveのアクセスを許可します。
すると確認コードらしきものがでてきます。


これを③ Enter verification code: の横にコピー&ペーストしてEnter。
すると認証は完了し、gdrive list で最近の 30件のファイルリストが表示されます。
④は gdrive を扱う上で重要な、ファイルやフォルダの IDとなります。

Googleドライブでたとえばフォルダについては
  • https://drive.google.com/drive/folders/◯◯◯◯◯
のようになっていますが、この◯◯◯◯がフォルダIDになります。

例1)test フォルダ内のファイルリストを表示する
  • gdrive list --query " 'testフォルダID' in parents "
例2)test フォルダ内に、gdrive フォルダを作成する
  • gdrive mkdir  --parents 'testフォルダID'  gdrive
例3)test フォルダ内に、ファイル(hogehoge)をアップロードする
  • gdrive upload  hogehge  --parent   'test フォルダID' 
例4)test フォルダ内に、フォルダ(hogehoge)をアップロードする
  • gdrive upload  hogehge  --parent   'test フォルダID'  --recursive
例5)test フォルダ内に、hogehogeフォルダを tar+gzip 圧縮 し hogehoge.tar.gz 名でアップロードする
  • tar czvf  -   hogehoge  | gdrive upload  -  --parent  'test フォルダID'  hogehoge.tar.gz
例6)test フォルダ内に、フォルダ(hogehoge)を増分アップロードする
  • gdrive sync upload  hogehoge   'test フォルダID' 
※ 最初の sync 時のみ、test フォルダは空にしておく必要があります。

例7)test フォルダ内に、フォルダ(hogehoge)を差分アップロードする
  • gdrive sync upload  hogehoge   'test フォルダID'  --delete-extraneous 
※ 最初の sync 時のみ、test フォルダは空にしておく必要があります。

サーバーなら、例5)が使えるかなと思います。
例7はファイルやフォルダのタイムスタンプがアップロードした日時になってしまうので、使えないかなぁと思います。

これ WordPress を含むサイトでも使えそうですね。
メインにつかうにはどの程度安定性があるか不明なので、セカンドバックアップとしては有用かなーと思います。

またファイルを探し出したり、フォルダを作成したり削除したりとコマンドベースでいろいろできるのがよいですね!これはかなり使えそうです!

検索パラメータ(--query / -q オプション)



設定ファイル


$HOME/.gdrive/token_v2.json 


2017年8月22日 @kimipooh