OK, jeśli to program interaktywny a nie zwykły skrypt, który tylko cośtam wywala na ekran to pozostaje screen. Robisz tak:
Na początku skryptu umieszczasz linię:
exec 1> >(logger -s -p mojskrypt.output -t $(basename $0)) 2>&1
W rc.local, czy gdzie tam uruchamiasz skrypt wpisujesz:
screen -dm /path/to/skrypt.sh
W konfigu rsyslog (pewnie w /etc/rsyslog.d/50-default.conf) dodajesz linię:
mojskrypt.* /dev/tty12
Output ze skryptu masz pod Alt-F12, jak się zalogujesz przez ssh to screen -r i pracujesz ze skryptem, jedyna wada to to, że na tty12 nie masz interakcji ze skryptem (musisz się lokalnie zalogować i zrobić screen -r), ale to dla mnie akurat byłaby zaleta - raczej nie chcę, żeby mi ktoś wyszedł ze skryptu uruchomionego na roocie do shella.