Hallo zusammen,
ich weiß, dass es hier schon dutzende Fragen zum Thema rc.local, Startup Skripts und dazugehörige Lösungsansätze gibt. Allerdings habe ich schon vieles, leider erfolglos versucht.
Ich habe folgende Situation. Mein Ubuntu Server (14.04 LTS) läuft auf einem Acer H340. Das Problem beim Acer ist, dass er beim hochfahren den Internen 256MB Flash mountet. Der Flash muss nach dem Hochfahren oder vor dem Runterfahren mittels udisks --detach sicher entfernen. Wenn ich das nicht mache, kann ich den Server nicht herunterfahren, da er ansonsten gleich wieder hochfährt. Um dem vorzubeugen hatte ich geplant ein simples Script zum entfernen des Speichers zu erstellen.
disusb.sh:
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash var=$(fdisk -l | sort | grep '/dev/sd' | grep '256 MByte' | cut -d " " -f2 | tr$ if [ "$var" != "" ] then udisks --detach $var else echo "Flash nicht vorhanden oder bereits entfernt." fi |
Dieses Script liegt im Verzeichnis: /usr/local/bin/ und hat chmod 755.
Das wollte ich nun mittels rc.local ausführen lassen.
rc.local
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/bash # # 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. /usr/local/bin/disusb.sh exit 0 |
rc.local hat ebenfalls chmod 755.
Wenn ich rc.local direkt ausführe funktioniert alles einwandfrei. Allerdings nicht automatisch beim hochfahren. Kann mir jemand helfen? Was mache ich falsch? Hatte, da ich dachte, dass evtl. das script zu früh startet bereits mit sleep gearbeitet, allerdings hat das auch nichts gebracht.
Vielen Dank für Eure Hilfe.
Piefko