Use um trabalho de crontab para chamar seu script.
crontab -e
Adicione a seguinte linha
* * * * * /path/to/your/script
Isso executará seu roteiro a cada minuto. Você pode verificar aqui como personalizar para outros tempos de execução. Página man do Crontab
Desculpe-me por ter perdido o requisito para ser executado a cada 5 segundos. Mas como Jonnhy mencionou nos comentários, você pode ter o cronjob verificando se o script está sendo executado ou não.
Script para crontab:
#!/usr/bin/bash
ps -ef|grep -v grep |grep script_name
if [ $? != 0 ]; then
path/to/script/script_name
fi
No seu script:
#!/usr/bin/bash
while true; do
#perform the test
sleep 5
done
Ou se você estiver usando um linux que ainda é baseado em scripts init, você pode, talvez, uma entrada para / etc / inittab
10:35:respawn:/path/ro/your/script
Embora eu não tenha certeza se é uma prática recomendada ter isso no inittab.
Se o seu sistema já está no systemd, também há uma maneira de fazer isso, mas não tenho experiência com ele para colocá-lo aqui.