Sur mon nouveau système Ubuntu, j'ai essayé de démarrer automatiquement un script Bash au démarrage du système.
J'ai trouvé beaucoup de publications et de tutoriels à ce sujet. donc j'ai essayé de le faire via Crontab:
- exécuter
crontab -e
- ajouter
@reboot /cronjobs/demo.sh >> /cronjobs/cronLogs/demo.output
- définir les permissions d'exécution du script avec
sudo chmod +x /cronjobs/demo.sh
- redémarrer le système
L'output a été créé, mais le script ne s'exécute pas. J'ai donc essayé une autre solution avec le fichier rc.local
:
- exécuter
sudo vi /etc/rc.local
- ajouter
/cronjobs/demo.sh || exit 1
- redémarrer le système
Mais mon script ne s'exécute pas. J'ai lu que pour que le script soit exécuté au démarrage, il doit être dans /etc/rc0.d/
. Donc j'ai essayé ceci:
- déplacer le script avec
mv /cronjobs/demo.sh /etc/rc0.d/K99_demo.sh
- vérifier les permissions (tout semble ok)
- redémarrer le système
Même chose - le script ne sera pas exécuté.
Alors, quelle est mon erreur? Pourquoi mon script ne peut pas être exécuté? Je peux exécuter mon script si je lance ./demo.sh
après m'être déplacé dans le dossier avec cd /cronjobs
. Le script est un fichier démo qui crée simplement un dossier:
#!/bin/sh
echo sortie de la démo
mkdir /cronjobs/demofolder
Modifié : Chemins et noms de fichiers remplacés; ajout du contenu complet du fichier demo.sh