Windows Server 2008 R2 に Google ドライブをインストールしました。サーバーにログインすると、Google ドライブが自動的に起動し、ファイルを同期して、クラウドから変更を取得します。これまでのところ、すべて順調です。
ただし、ログインしていない場合でも同期を実行したいのですが、スケジュールされたタスクとして同期プロセスを自動的に開始する方法はありますか?
サーバー上で FTP でファイルを配布する他のジョブも実行しているので、ファイルのサーバー コピーを最新の状態にしておきたいと考えています。
答え1
タスク スケジューラを試しましたか?
http://www.nekocreation.com/sync-google-drive-when-not-logged-in/
上から:
Google ドライブは、Windows でアカウントにログインしている場合にのみファイルを自動的に同期します。アカウントにログインする前でも Google ドライブを起動したい場合は、タスク スケジューラに追加できます。
- Windows 7では、スタート > すべてのプログラム > アクセサリ > システムツール > タスクスケジューラに移動します。
- タスクの作成をクリックします…
- 一般タブ
- 名前: Google ドライブ同期
- セキュリティ オプション: ユーザーがログオンしているかどうかに関係なく実行する
- トリガータブ
- 「新規…」ボタンをクリックします
- タスクの開始: 起動時
- 「OK」ボタンをクリック
- アクションタブ
- 「新規…」ボタンをクリックします
- 「参照…」ボタンをクリックします
- googledrivesync.exe を見つけます (デフォルトでは C:\Program Files (x86)\Google\Drive にあります)
- 「OK」ボタンをクリック
- 設定タブ
- 「実行時間が長くなったらタスクを停止する」のチェックを外します
- 「OK」ボタンをクリックしてタスクを保存します
答え2
同期クライアントをサービスとして実行する必要があると思います。そのためには、Sc.exe。
これをテストすることはできませんが、構文は次のようになります (管理者特権のコマンド プロンプトから)。
sc create GoogleDriveService displayName="Google Drive Service Wrapper" start=auto obj=WINDOWS_USERNAME password=PASSWORD binPath=PATH_TO_GOOGLE_DRIVE_EXECUTABLE
一つずつ:
sc
: サービスを作成します
create
: サービスを作成するコマンド(deleteも参照)
GoogleDriveService
: サービスに名前を付けるために作成する文字列
displayName="Google Drive Service Wrapper"
: 下に表示される文字列名前列のサービス.msc
start=auto
: 起動時に開始
obj=WINDOWS_USERNAME
: Google ドライブと同期している Windows アカウント
password=PASSWORD
binPath=PATH_TO_GOOGLE_DRIVE_EXECUTABLE
答え3
@martin Googledrivesync には、設定パネルで「ログイン時に開始」スイッチが有効になっていると再起動が無効になるバグがあります。再起動すると点滅するのはそのためです。(このメッセージを本来あるべきコメント スレッドに書きたかったのですが、そのためのポイントがありません。)
Windows のタスク スケジューラを使用して GoogleDriveSync を制御するには、アプリの設定パネルで自動起動オプションを無効にします。
GoogleDriveSync は、GDS がバックアップするフォルダー内の一時ファイルを作成および削除する他のスクリプトに干渉するため、ほとんどの場合は実行したくありません。スクリプトを書き直して GDS の範囲外の一時フォルダーを使用するのではなく、タスク スケジューラを使用して、GDS を実行するタイミングと実行しないタイミングを制御します。
答え4
このオプションが googledrivesync.exe にいつ追加されたかはわかりませんが、「詳細設定」タブの「システム設定」セクションに、「システム起動時に Google ドライブを起動する」オプションがあります。
これにより、システムの起動時に Google ドライブが起動し、ユーザーがログインしていなくてもフォルダが同期されます。