eu instaleiCliente de console Grive2para o Google Drive com as seguintes etapas:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install grive
Então criei uma pasta para sincronização e login na minha conta do Google:
mkdir ~/GoogleDrive
cd GoogleDrive
grive -a
Então eu reinicio meu sistema e não consigo encontrar nenhum serviço para o grive
.
Então tentei investigar a lista de arquivos instalados por grive
pacote:
$ dpkg -L grive
/.
/usr
/usr/lib
/usr/lib/grive
/usr/lib/grive/grive-sync.sh
/usr/lib/systemd
/usr/lib/systemd/user
/usr/lib/systemd/user/[email protected]
/usr/lib/systemd/user/[email protected]
/usr/lib/systemd/user/[email protected]
/usr/bin
/usr/bin/grive
/usr/share
/usr/share/doc
/usr/share/doc/grive
/usr/share/doc/grive/changelog.Debian.gz
/usr/share/doc/grive/copyright
/usr/share/man
/usr/share/man/man1
Aqui estão três systemd
itens interessantes relacionados:
$ dpkg -L grive | grep systemd/user/
/usr/lib/systemd/user/[email protected]
/usr/lib/systemd/user/[email protected]
/usr/lib/systemd/user/[email protected]
Seus conteúdos são os seguintes:
$ cat /usr/lib/systemd/user/[email protected]
[Unit]
Description=Google drive sync (changed files)
[Service]
ExecStart=/usr/lib/grive/grive-sync.sh listen "%i"
Type=simple
Restart=always
RestartSec=30
[Install]
WantedBy=default.target
$ cat /usr/lib/systemd/user/[email protected]
[Unit]
Description=Google drive sync
After=network-online.target
[Service]
ExecStart=/usr/lib/grive/grive-sync.sh sync "%i"
$ cat /usr/lib/systemd/user/[email protected]
[Unit]
Description=Google drive sync (fixed intervals)
[Timer]
OnCalendar=*:0/5
OnBootSec=3min
OnUnitActiveSec=5min
Unit=grive-timer@%i.service
[Install]
WantedBy=timers.target
Parece que grive
possui funcionalidade interna para automatizar a sincronização.
E não há necessidade de inventar outra bicicleta com cron
programador.
Mas não estou familiarizado com systemd
os temporizadores e serviços do usuário.
Encontradopostagem no fórum sobre ArchLinux, mas não consigo entender como combiná-lo com arquivos grive.
O que devo fazer para ativar grive
serviços e temporizadores?
Responder1
sua pergunta estava me dando a dica certa para examinar o timer/serviço de usuário do systemd do grive2.
Apenas recentemente a resposta à sua pergunta foi adicionada ao README.md emrepositório github grive2. Dê uma olhada emSeção README sobre sincronizações baseadas em systemd. Essencialmente você liga:
# 'google-drive' is the name of your Google Drive folder in your $HOME directory
systemctl --user enable grive-timer@$(systemd-escape google-drive).timer
systemctl --user start grive-timer@$(systemd-escape google-drive).timer
systemctl --user enable grive-changes@$(systemd-escape google-drive).service
systemctl --user start grive-changes@$(systemd-escape google-drive).service
Cumprimentos
RA