Azureus daemon

Meg szeretném oldani a gépemmel, hogy állandóan fusson rajta 1 torrent kliens, és én távolról tudjam piszkálni ha szükségem van rá.

Kis googlezés után találtam az azureushoz egy megoldást.

http://www.azureuswiki.com/index.php/DaemonizedAzureus

Eltoltam a linket :D

Ez az:
http://www.azureuswiki.com/index.php/HeadlessSwingUIAtBoot

A scriptet az /etc/init.d mappába tettem, utána update-rc.d azureus defaults 99.

Futtatásakor egy ilyen hibát kapok:
/etc/init.d/azureus: 63: [[: not found
El elindul a progi, de utána nemtudom leállítani, vagy újraindítani:


skateman@skate-desktop:~$ sudo /etc/init.d/azureus start
/etc/init.d/azureus: 63: [[: not found
Starting Azureus screen daemon: azureus_screen
skateman@skate-desktop:~$ sudo /etc/init.d/azureus status
/etc/init.d/azureus: 63: [[: not found
Azureus is DOWN
skateman@skate-desktop:~$ sudo /etc/init.d/azureus stop
/etc/init.d/azureus: 63: [[: not found
Coulnd't find a running Azureus screen daemon
skateman@skate-desktop:~$ sudo /etc/init.d/azureus restart
/etc/init.d/azureus: 63: [[: not found
Coulnd't find a running Azureus screen daemon
Starting Azureus screen daemon: azureus_screen
 ... done.

Itt a teljes script, mi lehet benne a hiba:


 #! /bin/sh
 
 #The user that will run Azureus
 AZ_USER=azureus
 
 #Name of the screen-session
 NAME=azureus_screen
 
 #executable files in the following paths that are perhaps needed by the script
 PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/azureus/bin
 
 #your path to the azureus directory, where Azureus2.jar is located
 DIR=/home/azureus
 
 #Description
 DESC="Azureus screen daemon"
 
 case "$1" in
 start)
    if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
       then
       echo "Azureus is already running!"
    else
       echo "Starting $DESC: $NAME"
       su $AZ_USER -c "cd $DIR; screen -dmS $NAME java -jar ./Azureus2.jar --ui=console"
    fi
    ;;
 stop)
    if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
       then
       echo -n "Stopping $DESC: $NAME"
       su $AZ_USER -c "screen -X quit"
       echo " ... done."
    else
       echo "Coulnd't find a running $DESC"
    fi
    ;;
 restart)
    if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
        then
       echo -n "Stopping $DESC: $NAME"
       su $AZ_USER -c "screen -X quit"
       echo " ... done."
    else
       echo "Coulnd't find a running $DESC"
    fi
    echo "Starting $DESC: $NAME"
       su $AZ_USER -c "cd $DIR; screen -dmS $NAME java -jar ./Azureus2.jar --ui=console"
    echo " ... done."
    ;;
 status)
    if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
       then
       echo "Azureus is RUNNING"
    else
       echo "Azureus is DOWN"
    fi
    ;;
 *)
    echo "Usage: $0 {start|stop|status|restart}"
    exit 1
    ;;
 esac
 
 exit 0


A 63. sor a végén található "esac". PLS segítsetek.

Hozzászólások

#!/bin/bash

/bin/sh nem tud [[ expr ]]-t.


skateman@skate-laptop:~$ ls -l /bin | grep sh
-rwxr-xr-x 1 root root  701680 2007-10-05 16:37 bash
-rwxr-xr-x 1 root root   80308 2007-09-29 14:47 dash
lrwxrwxrwx 1 root root       4 2008-02-13 16:41 rbash -> bash
lrwxrwxrwx 1 root root       4 2008-02-13 16:41 sh -> dash
lrwxrwxrwx 1 root root       4 2008-02-13 16:41 sh.distrib -> bash

A dakoták hírközlési rendszerét nem befolyásolják a mágneses viharok.

itt van: sh.distrib, ez a "regi", tobbi distrib altal hasznalt sh.

tehat probald ki, hogy az elso sorba: #!/bin/sh.distrib, ha ez nemmegy, akkor a #!/bin/bash.

jobb kiprobalni mindkettot, vannak dolgok ami egyikben mukodik, masikban nem. de az eredeti keszito valamilyen sh-t hasznalt, kulonben nem az lenne a scriptben.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Azureus html webui-val egyszerűbb. Weboldalon keresztül tudod piszkálgatni.

A poén kedvéért próbáld átírni az első sort /bin/bash-ra. Ugyanis nálad az sh symlinkelve van a dash-ra, ami a bash lite-osabb verziója. A debian ezt írja rá: "bash" is a better shell for most users, since it has some nice features absent from "dash", and is a required part of the system.

Egyébként összedobtam egy miniscriptet:


#!/bin/bash

AP=apache

if [[ `ps aux | grep $AP` ]]
then
echo "Hello LEO"
fi

Bash esetén a kimenet:

Hello LEO

Ha az első sort átírom dashra:

./teszt.sh: 8: [[: not found

Szóval ez lesz a gondod.


skateman@skate-desktop:~$ /bin/bash --version
GNU bash, version 3.2.25(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

Legfelül eltoltam a linket, amin találtam a leírást:
http://www.azureuswiki.com/index.php/HeadlessSwingUIAtBoot

A dakoták hírközlési rendszerét nem befolyásolják a mágneses viharok.

Rájöttem mi a hiba:


 #! /bin/bash
#!/bin/sh

Volt 2 felesleges szóköz :D

A dakoták hírközlési rendszerét nem befolyásolják a mágneses viharok.

köszi az ötletet, én is hasonlót kerestem a főnököm fiának :-)

--
by Mikul@s