Si, poner "node index.js" en una línea de cron funciona sin inconvenientes.
Para verificar que un proceso se vuelva a iniciar si se cae, hay varias opciones:
- lo que has hecho, es decir, un script monitor (a decir verdad, la alternativa más frágil)
- usar las herramientas de init o systemd, dependiendo de lo que uses: agregando tu proceso en el lugar correcto en /etc/inittab, podés hacer que init lo monitoree y lo reinicie si se cae.
- Usar un programa dedicado a esta tarea, como
supervisor o
daemontools