Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Подскажите про systemd.service  (Прочитано 798 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kekerovich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Подскажите про systemd.service
« : 10 Сентября 2017, 13:15:56 »
Пользуюсь 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 но че то не работает он и не пойму я почему. Подскажет кто?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7440
  • Luck Tales
    • Просмотр профиля
Re: Подскажите про systemd.service
« Ответ #1 : 10 Сентября 2017, 13:30:33 »
journalctl -u grive
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн kekerovich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Подскажите про systemd.service
« Ответ #2 : 10 Сентября 2017, 13:38:31 »
journalctl -u grive
Если имели ввиду
journalctl --user grive.serviceили
journalctl --user grive.pathто вот
journalctl --user -u grive.service
Sep 10 13:07:05 arch systemd[4357]: Started grive.
Sep 10 13:07:07 arch gdrive.sh[27555]: Reading local directories
Sep 10 13:07:07 arch gdrive.sh[27555]: Reading remote server file list
Sep 10 13:07:08 arch gdrive.sh[27555]: Synchronizing files
Sep 10 13:07:09 arch gdrive.sh[27555]: sync "./TEST" changed in local. uploading
Sep 10 13:07:10 arch gdrive.sh[27555]: sync "./TEST_DIR" doesn't exist in server, uploading
Sep 10 13:07:12 arch gdrive.sh[27555]: Finished!

journalctl --user -u grive.path
Sep 10 13:32:21 arch systemd[4357]: Started grive.path.

Обновления который записаны в сервисе это при принудительном рестарте сервиса. В реальном времени он не обновляет. Я так думаю если бы работала PathChanged или PathModified в юните то в логе эти события бы обозначались а значит path не видит изменений но вот почему я не знаю.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7440
  • Luck Tales
    • Просмотр профиля
Re: Подскажите про systemd.service
« Ответ #3 : 10 Сентября 2017, 13:43:52 »
звёздочку уберите
PathChanged=/home/joe/gdrive/*
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн kekerovich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Подскажите про systemd.service
« Ответ #4 : 10 Сентября 2017, 13:46:18 »
звёздочку уберите
PathChanged=/home/joe/gdrive/*
Без звeздочки он не будет рекурсивно видеть директорию и будет обновлять только файлы/папки лежащие в gdrive/ а не например в gdrive/dir1/

Пользователь добавил сообщение 10 Сентября 2017, 13:53:25:
А нет любые path'ы вообще никак не видят директорию рекурсивно и нужно добавлять все подкатегории вручную... Значит схема через systemd бесполезна при большоем количесвте субдиректорий.
« Последнее редактирование: 10 Сентября 2017, 13:53:25 от kekerovich »

 

Страница сгенерирована за 0.049 секунд. Запросов: 23.