A maneira mais direta é simplesmente executar uma vez :
sudo service start codesys && watch -n 7200 'sudo service stop codesys && sudo service start codesys'
Isso executará o comando sudo service stop codesys && sudo service start codesys (que interrompe o serviço codesys e, em caso de sucesso, o inicia novamente) a cada 7200 segundos exibindo a saída potencial.
Observe que, neste caso, já que o comando a ser executado é, na verdade, uma cadeia de dois comandos, as cotas para incluir o comando são necessárias.
Aqui está um resumo das seções relevantes para watch de man watch (trusty) :
[...]
DESCRIPTION
watch runs command repeatedly, displaying its output and errors (the
first screenfull). This allows you to watch the program output change
over time. By default, the program is run every 2 seconds. By
default, watch will run until interrupted.
OPTIONS
[...]
-n, --interval seconds
Specify update interval. The command will not allow quicker
than 0.1 second interval, in which the smaller values are
converted.
[...]
Para executá-lo na inicialização, adicione essa linha a /etc/rc.local antes da linha exit 0 :
nohup sh -c "sudo service start codesys && watch -n 7200 \"sudo service stop codesys && sudo service start codesys\"" > /dev/null &
nohup inicia um processo imune a SIGHUP sinais, redireciona o processo ' stdin para /dev/null e ambos stdout e stderr para um arquivo nohup.out , nesse caso stdout e stderr são redirecionados para /dev/null , já que você não precisa verificar a saída. Para usar nohup é feito para que o processo não seja eliminado quando a execução de /etc/rc.local terminar. O operador & coloca o processo em segundo plano, para que a execução de /etc/rc.local possa continuar.