Comment puis-je exécuter un script spécifique (de préférence, pas en tant que superutilisateur) à chaque démarrage de la machine, mais avant la connexion. Ce peut être la dernière chose à exécuter au démarrage. Je veux surtout que le script fonctionne même si aucun utilisateur ne se connecte.
Je recommanderais d'utiliser cron
. La valeur temporelle spéciale de @reboot
générera votre travail à chaque redémarrage en tant qu’utilisateur. Par exemple, exécutez crontab -e
et utilisez:
@reboot /home/yourself/bin/some_script_to_run
Pour plus de détails sur les formats d’heure spéciaux, voir man 5 crontab
Une possibilité consiste à utiliser Upstart. Cela vous permet de spécifier quand vous voulez exécuter votre script en termes de dépendances, par exemple. “Lorsque les systèmes de fichiers sont montés et que l'interface réseau eth0
est opérationnelle et en cours d'exécution”. Créez un fichier /etc/init/bruce_script.conf
(vous devez créer le fichier en tant que root) contenant quelque chose comme ceci:
description "Bruce's boot script"
start on filesystem and net-device-up IFACE=eth0
task
exec su -c '/home/bruce/script' bruce
Consultez la documentation pstart pour plus d'informations, en particulier la page init(5)
pour obtenir une liste de ce que vous pouvez mettre dans ce fichier de configuration.