Auteur Topic: Sabnzbd post processing script werkt niet  (gelezen 6883 keer)

Offline Lithium_Grim

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Sabnzbd post processing script werkt niet
« Gepost op: 07 mei 2010, 18:57:20 »
Ik wil een script maken die na het downloaden de owner en usergroep goedzet en ook de upnp index aanmaakt. Ik heb het volgende:

fullpath=$1
nzbfile=$2
jobname=$3
reportnumber=$4
category=$5
newsgroup=$6

## Change owner and groups of folder and files
chown -R admin:users "$fullpath"

## Delete the existing indexes of the given
synoindex -D "$fullpath"

## Add the folder indexes
synoindex -A "$fullpath"

echo "Added all files in $fullpath and re-indexed"

Ik zet dit in de file test.sh  in de map /volume1/SABnzbd/scripts/ en heb deze map ook als scriptmap in de sabconfig staan.

Als het script nu getriggerd wordt na een download krijg ik de melding
Citaat
Exit(-1) Cannot run script /volume1/SABnzbd/scripts/test.sh (Meer)

Weet iemand wat de oorzaak hiervan kan zijn?

Offline merty

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 21
  • Berichten: 130
Re: Sabnzbd post processing script werkt niet
« Reactie #1 Gepost op: 08 mei 2010, 10:31:33 »
twee dingen:

Waarschijnlijk staan de execute rights van het script niet goed. Log in als root and doe een 'chmod 755' op de file of desnoods 'chmod 777' om alle rechten aan iedereen te geven van het script. Check anders of het script draait vanaf de commandline, zo te zien of je alleen maar een path op te geven als extra parameter.
Tweede is dat het script draait als root. Dit kan betekenen dat sommige standaard paden niet meegenomen worden, en sowieso is het veiliger om programma's inclusief het path ernaar toe op te nemen: chown -> /bin/chown en synoindex -> /usr/syno/bin/synoindex.

Groeten,

Remco

Offline Lithium_Grim

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: Sabnzbd post processing script werkt niet
« Reactie #2 Gepost op: 08 mei 2010, 13:49:07 »
Goed punt.

Heb het als test nu herscreven naar

test.sh
#! /bin/ash

## Change owner and groups of folder and files
/bin/chown -R admin:users /volume1/video/[TV series]

## Delete the existing indexes of the given
/usr/syno/bin/synoindex -D /volume1/video/[TV series]

## Add the folder indexes
/usr/syno/bin/synoindex -A /volume1/video/[TV series]

Gezien mijn Noob status ben ik in putty aangelogd als root en ben naar de script map gegaan met cd /volume1/scripts/
vervolgens ./test.sh maar dan krijg ik de melding

Citaat
-ash: test.sh: not found

terwijl ls -l gewoon aangeeft dat het er is

Citaat
-rwxrwxrwx    1 Arnold   users         302 May  8 13:38 test.sh

Offline Lithium_Grim

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 1
  • Berichten: 15
Re: Sabnzbd post processing script werkt niet
« Reactie #3 Gepost op: 09 mei 2010, 15:57:51 »
OK, heb nu een script dat vanuit putty wel te starten is:

/usr/syno/bin/synoindex -D "/volume1/video/[Films]/test mij aub"
/usr/syno/bin/synoindex -A "/volume1/video/[Films]/test mij aub"

deze werkt dus denk ik mooi... gebruiken als post processing en de mapnaam vervangen door $1 (=parameter voor target folder waar sab de job in uitpakt)

Dus:
/usr/syno/bin/synoindex -D "$1"
/usr/syno/bin/synoindex -A "$1"

maar helaas nog steeds
Citaat
Exit(-1) Cannot run script /volume1/SABnzbd/scripts/test.sh (Meer)

Weet iemand raad? Uhm... Help??

Anonymous

  • Gast
Re: Sabnzbd post processing script werkt niet
« Reactie #4 Gepost op: 27 september 2010, 14:09:25 »
Ik denk dat ik het gevonden heb....

Aangezien het op m'n iMac wel goed werkt (opm: dat is Sabnzbd versie 0.5.4) denk ik dat het probleem zich specifiek op de Synology box voordoet.

Ik ben dus eens in de code van de PostProcessing gedoken en heb wat zitten prutsen. Het resultaat is niet helemaal perfect omdat ik zie dat niet alle argumenten juist aan het uit te voeren script worden meegeleverd maar voor mij voldoet het tenminste.

Mocht er iemand geïnteresseerd zijn in de aanpassingen die ik gemaakt heb, laat het hier dan even weten, dan zal ik de code publiceren.

Anonymous

  • Gast
Re: Sabnzbd post processing script werkt niet
« Reactie #5 Gepost op: 31 oktober 2010, 10:57:02 »
Ik zou graag zien hoe je dat gedaan hebt. ben het nu echt zat dan ik niet direct de bestanden zie op mijn media streamer

Offline JohanB

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 2
Re: Sabnzbd post processing script werkt niet
« Reactie #6 Gepost op: 01 november 2010, 21:11:29 »
Zoals gezegd heb ik de code van de PostProcessing licht aangepast:

File: /volume1/@appstore/sab2/SABnzbd-0.5.2/sabnzbd/newsunpack.py
vervang de code voor de 'external_processing' routine door bijgaande code:

#------------------------------------------------------------------------------                                                                                          
def external_processing(extern_proc, complete_dir, filename, msgid, nicename, cat, group, status):

# modification by JB to make postprocessing work on Synology Diskstation
#    command = [str(extern_proc), str(complete_dir), str(filename),
#               str(nicename), str(msgid), str(cat), str(group), str(status)]
command = " "" + str(extern_proc) + "" "" + str(complete_dir) + "" "" + str(filename) + "" "" +
               str(nicename) + "" "" + str(msgid) + "" "" + str(cat) + "" "" + str(group) + "" "" +
               str(status) + """
# end modification

    stup, need_shell, command, creationflags = build_command(command)
    env = fix_env()
   
# lines inserted by JB to make postprocessing work on Synology Diskstation
    logging.info('command=%s', command)
    need_shell = True
# end insert

    logging.info('Running external script %s(%s, %s, %s, %s, %s, %s, %s)',
                 extern_proc, complete_dir, filename, nicename, msgid, cat, group, status)

    try:
        p = subprocess.Popen(command, shell=need_shell, stdin=subprocess.PIPE,
                            stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
                            startupinfo=stup, env=env, creationflags=creationflags)
    except:
        logging.debug("Failed script %s, Traceback: ", extern_proc, exc_info = True)
        return "Cannot run script %srn" % extern_proc, -1
       
    output = p.stdout.read()
    ret = p.wait()
    return output, ret
   
#------------------------------------------------------------------------------    


Herstart (natuurlijk alleen nodig als sabnzbd al loopt) sab2 vanuit Package Management et voila!

Zorg uiteraard voor een geldig post processing script, bij mij komen nu tenminste de verwachte resultaten op het scherm:
Citaat
Voorbeeld

$0= /volume1/video/SABnzbd/scripts/mijnscript.sh
$1= /volume1/video/voorbeeld
$2= voorbeeld.nzb
$3= voorbeeld
$4=
$5=
$6= alt.iets.iets
$7= 0

Ik hoop dat je hier mee verder kunt.

Suk6!

Offline thunder1979

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 4


 

SABnzbd geinstalleerd en nu???

Gestart door downloaderBoard SABnzbd (usenet)

Reacties: 3
Gelezen: 2556
Laatste bericht 14 februari 2009, 19:10:28
door cornechristiaanse
SABNZBD is enorm traag met uitpakken en repareren

Gestart door PeggywBoard SABnzbd (usenet)

Reacties: 12
Gelezen: 7979
Laatste bericht 29 maart 2013, 17:07:48
door Peggyw
SABnzbd Testing v1.0.0-5

Gestart door Magic2ikBoard SABnzbd (usenet)

Reacties: 14
Gelezen: 5738
Laatste bericht 12 juni 2016, 22:20:48
door Ben(V)
SABnzbd installeren in Docker.

Gestart door scootfanBoard SABnzbd (usenet)

Reacties: 16
Gelezen: 9791
Laatste bericht 12 september 2019, 18:22:04
door Henny
SABnzbd+ 0.3.1. geïnstalleerd op DS207+ met twee problemen

Gestart door RogerSBoard SABnzbd (usenet)

Reacties: 4
Gelezen: 2896
Laatste bericht 06 april 2008, 08:55:50
door Thomassio