Sincronize o Google Drive quando não estiver conectado

12

Eu instalei o Google Drive no Windows Server 2008 R2. Quando faço login no servidor, o Google Drive é iniciado automaticamente e sincroniza arquivos, retirando as alterações da nuvem. Tudo de bom até agora.

No entanto, eu gostaria que a sincronização fosse executada mesmo que não estivesse conectado. Existe alguma maneira de iniciar o processo de sincronização automaticamente, talvez como uma tarefa agendada?

Tenho outros trabalhos no servidor que distribuem os arquivos por FTP, portanto, gostaria que as cópias dos arquivos estivessem atualizadas.

njr101
fonte

Respostas:

17

Você já tentou o Agendador de tarefas?

http://www.nekocreation.com/sync-google-drive-when-not-logged-in/

De cima:

O Google Drive sincronizará seus arquivos automaticamente apenas quando você estiver conectado à sua conta no Windows. Se você deseja que o Google Drive inicie antes mesmo de fazer login na sua conta, adicione-o ao Agendador de tarefas.

  1. No Windows 7, vá para Iniciar> Todos os Programas> Acessórios> Ferramentas do Sistema> Agendador de Tarefas
  2. Clique em Criar tarefa ...
  3. Na guia Geral
  4. Nome: Google Drive Sync
  5. Opções de segurança: execute se o usuário está conectado ou não
  6. Na guia Triggers
  7. Clique no botão 'Novo ...'
  8. Comece a tarefa: Na inicialização
  9. Clique no botão 'OK'
  10. Na guia Ações
  11. Clique no botão 'Novo ...'
  12. Clique no botão 'Procurar ...'
  13. Localize googledrivesync.exe (por padrão, está em C: \ Arquivos de Programas (x86) \ Google \ Drive)
  14. Clique no botão 'OK'
  15. Na guia Configurações
  16. Desmarque a opção 'Interrompa a tarefa se ela demorar mais ...'
  17. Clique no botão 'OK' para salvar a tarefa
Hoojx
fonte
1
Bom primeiro post. O link parece útil. o que diz o njr101?
Nixda
Parece que o link está quebrado
njr101
1
Eu tentei isso no Windows 8, mas sem sorte - quando executo a tarefa agendada, o googledrivesync.exe pisca por um momento e sai sem sincronizar a pasta. Nenhum erro nos logs e a tarefa em si ainda tem Runningstatus.
JustAMartin
Windows 7 possivelmente trabalhou com esta resposta, em 2012, mas não posso fazê-lo funcionar com o Windows 7 ainda em 2014. Usando o Windows 7 Professional com Service Pack 1.
Jeff Clayton
4

Acredito que você precisaria executar o cliente de sincronização como um serviço. Para fazer isso, você pode usar o Sc.exe .

Não posso testar isso, mas a sintaxe deve ser algo assim (em um prompt de comando elevado):
sc create GoogleDriveService displayName="Google Drive Service Wrapper" start=auto obj=WINDOWS_USERNAME password=PASSWORD binPath=PATH_TO_GOOGLE_DRIVE_EXECUTABLE

Peça por peça::
sccria o serviço
create: comando para criar o serviço (consulte também excluir)
GoogleDriveService: uma sequência que você cria para dar ao serviço um nome
displayName="Google Drive Service Wrapper": sequência mostrada na coluna Nome dos serviços.msc
start=auto : iniciar na inicialização
obj=WINDOWS_USERNAME: conta do Windows que é sincronizando com o Google Drive
password=PASSWORD
binPath=PATH_TO_GOOGLE_DRIVE_EXECUTABLE

Louis Waweru
fonte
Qual executável precisa ser executado e com quais opções? O que acontecerá com o serviço se estiver aguardando a entrada do usuário? Ele travará ou continuará sincronizando? Ou é possível usar as opções corretas para impedir o executável de gerar qualquer interação do usuário, como a caixa de diálogo de login?
Njr101
@ njr101 Gostaria de olhar as propriedades do atalho para ver se alguma opção é usada. Como não o uso, não consigo aprofundar muito mais.
Louis Waweru
O atalho inclui uma opção / autostart, mas como eu disse, isso pode aumentar a interação do usuário em algumas circunstâncias. Sei que a conversão de um aplicativo em um serviço permitirá que ele seja executado sem um usuário conectado, mas o que eu preciso especificamente é saber se existe um modelo compatível para fazer isso com o Google Drive. Mesmo se não for oficialmente suportado, pelo menos um método que alguém tentou e pode verificar se funciona.
Njr101
@ njr101 você pode dar um exemplo de software que é executado enquanto um usuário não está logado?
Louis Waweru
SQL Server, IIS, Oracle etc. Esses serviços são executados mesmo que não haja um usuário interativo do Windows conectado ao console.
Njr101
3

@martin Há um bug no Googledrivesync que desativa a reinicialização se a opção "Iniciar no login" estiver ativada no painel de preferências. É por isso que está piscando quando você o reinicia. (Eu colocaria essa mensagem no segmento de comentários a que pertence, mas não tenho os pontos para fazê-lo.)

Para usar o agendador de tarefas do Windows para controlar o GoogleDriveSync, desative a opção de inicialização automática no painel de preferências do aplicativo.

Especificamente, não quero que o GoogleDriveSync seja executado na maioria das vezes, pois interfere com outros scripts que criam e excluem arquivos temporários nas pastas de backup do GDS. Em vez de reescrever os scripts para usar uma pasta temporária fora do alcance do GDS, eu uso o Agendador de tarefas para controlar quando o GDS executa e não executa.

Michael
fonte
1

Não sei quando essa opção foi incluída no googledrivesync.exe, mas, na guia "Avançado", na seção "Configurações do sistema", existe uma opção que permite "Iniciar o Google Drive na inicialização do sistema".

Isso iniciará o Google Drive quando o sistema for inicializado, sincronizando as pastas mesmo que nenhum usuário faça login.

JotaBe
fonte
0
  1. Faça login no servidor ou na área de trabalho com a conta na qual você deseja executar o serviço e configure o Google Drive. Configure o Google Drive para não executar na inicialização e sair do aplicativo.
  2. Faça o download do srvany.exe no Microsoft Windows 2003 Resource Kit (disponível gratuitamente na Microsoft). Copie srvany.exe para a pasta em que o Google Drive está instalado.
  3. Abra um prompt do cmd do Windows (execute como administrador) e digite os detalhes de serviço e autenticação que você deseja (no nosso caso, GoogleDriveSync). sc create GoogleDriveSync displayName= "Google Drive Service" start= auto obj= "<domain>\<username>" password= "<password>" binPath= "C:\Program Files (x86)\Google\Drive\srvany.exe"
  4. Vá para o menu Iniciar, digite regedit e vá para o novo serviço (neste caso, GoogleDriveSync) HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ GoogleDriveSync
  5. Crie subchave Parâmetros abaixo dos quais você deve criar dois valores de sequência:
    1. Crie um valor de seqüência de caracteres chamado Aplicativo, clique com o botão direito do mouse e adicione o caminho para googledrivesync.exe (por exemplo, C: \ Arquivos de Programas (x86) \ Google \ Drive \ googledrivesync.exe)
    2. Crie um valor de sequência chamado AppParameters com os parâmetros relevantes para googledrivesync.exe (por exemplo, / autostart --noshow_confirmation_dialog_on_delete)
  6. No prompt de comando, execute net start GoogleDriveSyncou inicie o serviço por meio do snap-in de serviços

Você pode gerenciar o Google drive como um serviço. Se você precisar editar as configurações no logon da unidade como a conta em que o serviço está sendo executado, pare o serviço e inicie o Google drive a partir do ícone no menu Iniciar. Quando você concluir as alterações nas configurações, feche o aplicativo de desktop do Google Drive e inicie o serviço novamente.

Reece
fonte