Você pode usar um truque como este para evitar a execução do script mais de uma vez:
#!/bin/bash
test ! -e /path/to/chosen/file || exit 0
touch /path/to/chosen/file
echo "Executing my job"
Você pode executar o script acima apenas uma vez. Outras execuções sairão porque o arquivo deve ser criado na primeira execução. Claro, você precisa ter permissões suficientes para criar o arquivo.
Para manter isso válido após a reinicialização, é necessário evitar a criação do arquivo em um sistema de arquivos temporário, como /tmp
. Além disso, isso impede a execução múltipla do script, independentemente de ele ser executado manualmente ou parte do processo de inicialização.