Я установил клиент консоли 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/grive-changes@.service
/usr/lib/systemd/user/grive-timer@.service
/usr/lib/systemd/user/grive-timer@.timer
/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/grive-changes@.service
/usr/lib/systemd/user/grive-timer@.service
/usr/lib/systemd/user/grive-timer@.timer
Их содержание следующие:
$ cat /usr/lib/systemd/user/grive-changes@.service
[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/grive-timer@.service
[Unit]
Description=Google drive sync
After=network-online.target
[Service]
ExecStart=/usr/lib/grive/grive-sync.sh sync "%i"
$ cat /usr/lib/systemd/user/grive-timer@.timer
[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
сервисы и таймеры?
Ваш вопрос давал мне правильную подсказку для рассмотрения сопровождения systemd пользовательский таймер/сервис grive2.
Только недавно ответ на Ваш вопрос был добавлен к README.md на репозитории grive2 github. Взгляните на раздел README по находящимся в 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
С уважением
РА