Пользуюсь google drive и синхронизирую через cron. Но это не совсем удобно т.к. часто нужно синхронизировать только по изменению а не по времени. Нашел инфу про systemd юниты и примеры. Вот сделал 2 юнита
grive.path
[Path]
PathChanged=/home/joe/gdrive/*
[Install]
WantedBy=default.target
grive.service
[Unit]
Description=grive
[Service]
Type=simple
ExecStart=/home/joe/scripts/backup/gdrive.sh
[Install]
WantedBy=default.target
Сам gdrive.sh
#!/bin/sh
cd /home/joe/gdrive && grive
По описанию в мане PathChanged реагирует на все изменения в файлах при закрытии этого файла. Вот я тестирую:
gedit gdrive/1.txt
пишу туда текст, закрываю. А юнит не работает. Статус inactive(dead) типо он не активировался по условию path. Пробую ставить PathModified который должен при любом изменении без закрытия работать и с ним та же фигня. По статусу юнит все так же
systemctl --user status grive.service
● grive.service - grive
Loaded: loaded (/home/joe/.config/systemd/user/grive.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Пробовал и daemon-reload и restart но че то не работает он и не пойму я почему. Подскажет кто?