如何为 Grive2 启用用户的 systemd 计时器和服务?

如何为 Grive2 启用用户的 systemd 计时器和服务?

我已经安装Grive2 控制台客户端对于 Google Drive,步骤如下:

sudo add-apt-repository ppa:nilarimogard/webupd8  
sudo apt-get update  
sudo apt-get install grive 

然后我创建了同步文件夹并登录到我的 Google 帐户:

mkdir ~/GoogleDrive
cd GoogleDrive
grive -a

然后我重启系统,却找不到任何服务grive
所以我尝试调查grive软件包安装的文件列表:

$ 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

以下是 3 个有趣的systemd相关项目:

$ dpkg -L grive | grep systemd/user/
/usr/lib/systemd/user/[email protected]
/usr/lib/systemd/user/[email protected]
/usr/lib/systemd/user/[email protected]

其内容如下:

$ 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

因此,它似乎grive具有自动同步的内部功能。
而且无需发明另一辆带有cron调度程序的自行车。

但我不熟悉systemd用户的计时器和服务。

成立ArchLinux 上的论坛帖子,但不明白如何将其与 grive 文件结合起来。

我应该怎么做才能启用grive服务和计时器?

答案1

您的问题给了我正确的提示,让我查看 grive2 附带的 systemd 用户计时器/服务。

直到最近,你的问题的答案才被添加到 README.md 中grive2 github 仓库。 看一下关于基于 systemd 的同步的 README 部分. 本质上你调用的是:

# '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

问候

类风湿关节炎

相关内容