Grive2 でユーザーの systemd タイマーとサービスを有効にするにはどうすればいいですか?

Grive2 でユーザーの systemd タイマーとサービスを有効にするにはどうすればいいですか?

インストールしました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 ベースの同期に関する 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

よろしく

関連情報