Eu não penso assim. Parece que a maior parte disso poderia (ou deveria) ser quebrada em seu próprio script para que seu iniciante se pareça com:
description "Upstart Script to run sonarr as a service on Ubuntu/Debian based systems"
start on runlevel [2345]
stop on runlevel [016]
exec /usr/local/sbin/sonarr
E /usr/local/sbin/sonarr
sendo:
#!/bin/sh
PORT=$(curl http://ipvr.japayton.com/port.php)
API=$(cat /home/kodi/IPVR/api)
# Do this first because it's non-blocking
# And take care with quotes.
ssh [email protected] 'sqlite3 /home/client/clients.db "UPDATE clients SET port = '"'$PORT'"' WHERE api = '"'$API'"';"'
autossh -nNT -i /home/root/.ssh/sshkeys -o ServerAliveInterval=15 -R $PORT:localhost:443 [email protected]
Note que houve alguns problemas de sintaxe com o script, então certifique-se de que ele esteja rodando antes de começar a culpar o Upstart por não iniciá-lo.