Унисон systemd сервис выходит с кодом состояния 3

Я пытаюсь создать systemd сервис для унисона, с помощью следующего unison.system файл:

[Unit]
Description=Unison Sync
After=network.target

[Service]
ExecStart=/home/adamfg/bin/unison default
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
Type=simple
User=root
Environment=HOME=/home/adamfg/

[Install]
WantedBy=multi-user.target
Alias=unison.service

Вот мой default.prf файл, расположенный в /home/adamfg/.unison:

root = /home/adamfg/workplace
root = ssh://adamfg@my-server.com//home/adamfg/workplace

{Some Ignore Rules}

ignorecase = false
repeat = watch
log = true
logfile = /home/adamfg/.unison/unison.log
backup = Name *
maxbackups = 5
retry = 1
auto = true
batch = true
confirmbigdeletes = true
times = true
prefer = newer
terse = true
contactquietly = true
silent = true

Если я работаю /home/adamfg/bin/unison default унисон запустится и продолжится прекрасный.

Однако, когда я пытаюсь выполнить использование унисона systemctl start unison.service и затем я запрашиваю использование состояния systemctl status unison.service Я получаю следующее:

unison.service - Unison Sync
   Loaded: loaded (/etc/systemd/system/unison.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2019-10-07 09:14:25 IST; 884ms ago
  Process: 14607 ExecStart=/home/adamfg/bin/unison default (code=exited, status=3)
Main PID: 14607 (code=exited, status=3)

Как я могу зафиксировать это так я способный выполнить унисон как systemd сервис?

0
задан 7 October 2019 в 11:36

1 ответ

Проблема была то, что унисон не мог определить местоположение ssh файла секретных ключей при выполнении как услуга, но это автоматически использует по умолчанию для пользователя, если Вы работаете в из командной строки.

Для фиксации этого, я добавил следующую строку к моему default.prf файл:

sshargs= -oIdentityFile=/path/tos/ssh/key/id_rsa
1
ответ дан 22 December 2019 в 00:23

Другие вопросы по тегам:

Похожие вопросы: