我已經安裝了Grive2 控制台用戶端對於 Google 雲端硬碟,請執行下列步驟:
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 的同步的自述文件部分。本質上你打電話:
# '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
問候
RA