У меня есть служба в '/etc/init.d'. В этой службе я запускаю команду на удаленной машине, используя ssh в качестве пользователя. В настоящее время я делаю это следующим образом:
sudo -u user bash -c "ssh user@172.21.6.70 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"
Это команда запуска этой службы, а имя службы - catalog.
Когда я делаю sudo service catatlog start
, команда запускается успешно, т.е. она правильно заходит по SSH на целевую машину, которая находится по адресу user@172.21.6.70
как пользователь user
, но она не запускает службу.
Может ли кто-нибудь сказать мне, как настроить это так, чтобы оно запускалось успешно?
Таким образом, я зафиксировал его при помощи nohup
команда:
sudo -iu user ssh user@172.21.6.70 "nohup bash -c 'source ~/.envrc ; (cd /catalog; ./bin/catalog start &)'"