| Linux/UNIX Linuxverfechter finden hier Weggefährten. |
Diskussion: Init Script im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hi, ich habe mir für ein Script in Init Script gebastelt. Dabei hab ich mich an in vorhandes angelehnt ...
![]() |
| | #1 (permalink) |
| Senior Member Registriert seit: 26.03.06 ![]() Likes: 16 | Anzeige Hi, ich habe mir für ein Script in Init Script gebastelt. Dabei hab ich mich an in vorhandes angelehnt (ist das erst Mal dass ich sowas mache): Code: #! /bin/sh
NAME="autorotate"
DESC="Rotates the screen according to HDAPS sensors"
SCRIPTNAME="/etc/init.d/autorotate"
DAEMON="/usr/local/bin/$NAME"
PIDFILE="/var/run/$NAME.pid"
LOGFILE="/var/log/autorotate"
start() {
start-stop-daemon --start -b --exec $DAEMON > $LOGFILE
}
stop() {
sudo start-stop-daemon --stop --verbose --name $NAME
}
pause() {
start-stop-daemon --stop --signal 10 --quiet --pidfile $PIDFILE --name $NAME
}
case "$1" in
start)
echo "Starting autorotate daemon..."
start
;;
stop)
echo "Stopping autorotate daemon..."
stop
;;
pause)
echo "Pausing autorotate daemon..."
pause
;;
restart|force-reload)
echo "Restarting autorotate daemon..."
stop
start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|pause}" >&2
exit 3
;;
esac
: 2. Sache: Was bedeutet ">&2" in der Zeile in der "Usage:..." ausgegeben wird? mfg serow |
| | |
| | #2 (permalink) | |
| Guest Likes: | Zitat:
| |
|
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Senior Member Themenstarter Registriert seit: 26.03.06 ![]() Likes: 16 | Hä? Wie jetzt? In dem Script gibts ein paar echo(s) die ich gern im log file hätte. Oder macht man das anders? |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Code: echo "foobar" >> /var/log/meinlog.log 2>&1
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #5 (permalink) |
| Wenn ich das jetzt richtig verstanden hatte ( wusste das auch noch nicht ) , leitet das >&2 auch die fehlermeldungen in die datei um(stderr)
__________________ Be the source always with you. | |
| | |
| | #6 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | 2>&1 sorgt dafür, dass sowohl STDERR als auch STDIN in die gleiche Richtung umgeleitet werden. Ist also vorher eine Umleitung mittels '>>' oder '>' definiert, landet jeglicher Output dort. Verwendet man es hingegen nicht, wird nur der STDOUT umgeleitet.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #7 (permalink) |
| Senior Member Themenstarter Registriert seit: 26.03.06 ![]() Likes: 16 | Also wenn ich Code: start-stop-daemon --start -b --exec $DAEMON > $LOGFILE Code: start-stop-daemon --start -b --exec $DAEMON > $LOGFILE 2>&1 In dem Script /usr/local/bin/autorotate mach ich einfach immer nur das hier: Code: echo "Blablubb" |
| | |
| | #8 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Dein Problem dürfte eher die einfache spitze Klammer '>' sein. Diese sorgt dafür, dass die Datei komplett überschrieben wird und der neue Output nicht angehängt. Dadurch bekommst du in der Datei nur die letzte Ausgabe des Skripts. Hinzu kommt, dass start-stop-daemon meines Wissens nach den Output eh abfängt und an das syslog-System übergibt.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #9 (permalink) |
| Senior Member Themenstarter Registriert seit: 26.03.06 ![]() Likes: 16 | Bringt alles nix. Weder Output in /var/log/autorotate noch in /var/log/syslog. Also nochmal zusammengefasst, die ganzen Scripte: /usr/local/bin/autorotate Das echo ist in Zeile 79 Code: #!/bin/bash
export IFS=" "
############################################################
## CONSTANTS ###############################################
############################################################
SLEEP_TIME=1
LAPTOP_MODE_FILE=/etc/tabletmode
MODE_TABLET=tablet
MODE_LAPTOP=laptop
CALIBRATE_FILE=/sys/devices/platform/hdaps/calibrate
RESISTANCY=50
POSITION_FILE=/sys/devices/platform/hdaps/position
XRANDR=("normal" "right" "inverted" "left")
WACOM=("0" "1" "3" "2")
BUTTONS=("103 106 108 105" "105 103 106 108" "108 105 103 106" "106 108 105 103" "71 6d 6f 6e")
############################################################
## VARIABLES ###############################################
############################################################
orientation=-1
next_orientation=-1
calibX=`cut -d , -f 1 < $CALIBRATE_FILE | sed "s/(//"`
calibY=`cut -d , -f 2 < $CALIBRATE_FILE | sed "s/)//"`
minX=$(($calibX-$RESISTANCY))
minY=$(($calibY-$RESISTANCY))
maxX=$(($calibX+$RESISTANCY))
maxY=$(($calibY+$RESISTANCY))
############################################################
## MAIN LOOP STARTS HERE ###################################
############################################################
while :
do
sleep $SLEEP_TIME
laptopMode=`cat $LAPTOP_MODE_FILE`
if [ "$laptopMode" = "$MODE_LAPTOP" ]
then
laptop_status=$MODE_LAPTOP
next_orientation=0
else
if [ "$laptop_status" = "$MODE_LAPTOP" ]
then
laptop_status=$MODE_TABLET
next_orientation=2
fi
posX=`cut -d , -f 1 < $POSITION_FILE | sed "s/(//"`
posY=`cut -d , -f 2 < $POSITION_FILE | sed "s/)//"`
if [ $posY -gt $maxY -a $minX -lt $posX -a $posX -lt $maxX ]
then
next_orientation=2 #inverted
else
if [ $posY -lt $minY -a $minX -lt $posX -a $posX -lt $maxX ]
then
next_orientation=0 #normal
else
if [ $posX -lt $minX -a $minY -lt $posY -a $posY -lt $maxY ]
then
next_orientation=3 #left
else
if [ $posX -gt $maxX -a $minY -lt $posY -a $posY -lt $maxY ]
then
next_orientation=1 #right
fi
fi
fi
fi
fi
if [ "$orientation" != "$next_orientation" ]
then
orientation=$next_orientation
echo "Changing Screen Orientation: ${XRANDR[$orientation]}"
xrandr --output LVDS --rotation ${XRANDR[$orientation]}
xsetwacom set stylus Rotate ${WACOM[$orientation]}
i=0
while [ $i -lt 4 ]
do
setkeycodes `echo ${BUTTONS[4]} | cut -d " " -f $(($i + 1))` `echo ${BUTTONS[$orientation]} | cut -d " " -f $(($i + 1))`
i=$(($i + 1))
done
fi
done Code: #! /bin/sh
NAME="autorotate"
DESC="Rotates the screen according to HDAPS sensors"
SCRIPTNAME="/etc/init.d/autorotate"
DAEMON="/usr/local/bin/$NAME"
PIDFILE="/var/run/$NAME.pid"
LOGFILE="/var/log/autorotate"
start() {
start-stop-daemon --start -b --exec $DAEMON >> $LOGFILE 2>&1
}
stop() {
start-stop-daemon --stop --verbose --name $NAME
}
pause() {
start-stop-daemon --stop --signal 10 --quiet --pidfile $PIDFILE --name $NAME
}
case "$1" in
start)
echo "Starting autorotate daemon..."
start
;;
stop)
echo "Stopping autorotate daemon..."
stop
;;
pause)
echo "Pausing autorotate daemon..."
pause
;;
restart|force-reload)
echo "Restarting autorotate daemon..."
stop
start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|pause}" >&2
exit 3
;;
esac EDIT: keine Ideen? |
| | |
| | #10 (permalink) |
| start-stop-daemon --start -b --exec $DAEMON >> $LOGFILE 2>&1 Das schonmal probiert?
__________________ Be the source always with you. | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fragen zu init | Serow | Linux/UNIX | 8 | 13.03.09 16:53 |
| Andere Orte als die /etc/init.d fuer Daemon-Konfiguraiton? | sw33tlull4by | Linux/UNIX | 2 | 21.11.07 12:43 |
| Eigene Init erstellen | Indi | Linux/UNIX | 9 | 06.07.07 17:08 |
| Probleme beim Tomcat - Start mit /etc/init.d | ooover | Linux/UNIX | 0 | 21.02.04 03:13 |
| Fehler beim Laden der init.d Runlevel 3 | Rushjo | Linux/UNIX | 2 | 07.10.02 00:36 |