GNU/Linux >> Tutoriels Linux >  >> Linux

Exécutez le script avec rc.local :le script fonctionne, mais pas au démarrage

Sur certains Linux (Centos &RH, par exemple), /etc/rc.local est initialement juste un lien symbolique vers /etc/rc.d/rc.local . Sur ces systèmes, si le lien symbolique est rompu, et /etc/rc.local est un fichier séparé, puis passe à /etc/rc.local ne sera pas visible au démarrage -- le processus de démarrage exécutera la version en /etc/rc.d . (Ils fonctionneront si l'on exécute /etc/rc.local manuellement, mais ne sera pas exécuté au démarrage.)

On dirait que sur le système de dimadima, ce sont des fichiers séparés, mais /etc/rc.d/rc.local appelle /etc/rc.local

Le lien symbolique de /etc/rc.local au "vrai" en /etc/rc.d peut se perdre si on bouge rc.local dans un répertoire de sauvegarde et le recopie ou le crée à partir de zéro, sans se rendre compte de l'original dans /etc n'était qu'un lien symbolique.


Dans cet exemple de script rc.local, j'utilise la redirection io à la toute première ligne d'exécution vers mon propre fichier journal :

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exec 1>/tmp/rc.local.log 2>&1  # send stdout and stderr from rc.local to a log file
set -x                         # tell sh to display commands before execution

/opt/stuff/somefancy.error.script.sh

exit 0

Dans Ubuntu, j'ai remarqué qu'il y avait 2 fichiers. Le vrai est /etc/init.d/rc.local; il semble que l'autre /etc/rc.local est faux ?

Une fois que j'ai modifié le bon (/etc/init.d/rc.local ) il s'est exécuté comme prévu.


Je me suis retrouvé avec parvenu, ce qui fonctionne bien.


Linux
  1. Script de démarrage utorrent / exécuter utorrent au démarrage – Ubuntu 14.04 / 14.10

  2. Un script peut-il être exécutable mais pas lisible ?

  3. Linux - Exécuter le script toutes les 30 minutes avec Systemd ?

  4. La commande Rm dans le script Bash ne fonctionne pas avec la variable ?

  5. Commande introuvable dans Zsh, mais trouvée dans Bash ?

Bashscript fonctionne depuis Terminal mais pas depuis Crontab ?

Le script Init.d n'est pas exécuté au démarrage ?

Exécuter le script avec des arguments en tant qu'utilisateur ?

La commande sed avec l'option -i échoue sur Mac, mais fonctionne sur Linux

Pycharm tensorflow ImportError mais fonctionne bien avec Terminal

Commande Conda fonctionnant dans l'invite de commande mais pas dans le script bash