Grive2에 대해 사용자의 시스템 타이머 및 서비스를 활성화하는 방법은 무엇입니까?

Grive2에 대해 사용자의 시스템 타이머 및 서비스를 활성화하는 방법은 무엇입니까?

나는 설치했다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의 시스템 사용자 타이머/서비스를 볼 수 있는 올바른 힌트를 제공했습니다.

최근에야 귀하의 질문에 대한 답변이 README.md에 추가되었습니다.grive2 github 저장소. 보세요시스템 기반 동기화에 대한 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

문안 인사

관련 정보