17. Molto tempo fa avevamo un server che doveva essere riavviato manualmente perché il sistema operativo era davvero un disastro. Ogni giorno alle 20:00. Non si poteva reinstallare o riparare perché aveva un software con una licenza che si sarebbe potuta perdere in caso di reinstallazione. E non si poteva riapplicare perché il produttore aveva lasciato il mercato da tempo e non c’era alcun supporto o contatto.

Quindi l’unica opzione era essere lì ogni giorno alle 20:00 o trovare una soluzione.
Abbiamo allestito un giocattolo, un pagliaccio combattente con una sbarra di metallo attaccata al pugno, che si attivava ogni giorno alle 20:00. Veniva attivato con un circuito integrato con un timer. Alle 20:00 il giocattolo si accendeva, lanciando il suo pugno con la sbarra attaccata contro il pulsante di accensione/spegnimento del server. Il primo pugno lo spegneva. Alle 20:10 si attivava di nuovo, accendendo il server.
Abbiamo avuto questa soluzione in funzione per 6 mesi finché non siamo riusciti a fare il reverse engineering delle funzionalità del software e il nostro programmatore ha creato un programma completamente compatibile con alcuni dei nostri script.
Sì, era una soluzione un po’ da “bidone”, ma funzionava.
EDIT: A tutte le menti brillanti che suggeriscono un cronjob… il sistema operativo non si riavviava o si spegneva dal sistema operativo perché, come chiaramente detto, il sistema operativo era instabile. Non è che non avessimo provato di tutto prima di usare un pagliaccio giocattolo. No, neanche prese gestibili o programmabili. No, il server non aveva un’interfaccia di gestione o un sistema di gestione sottostante. L’unico e solo modo sicuro per riavviarlo era premere fisicamente il pulsante di accensione.