Page 2 of 2
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 4:22 am
by woutf
Code: Select all
DiskStation> ls /bin
ash dnsdomainname kill pidof stty
busybox echo ln ping su
cat egrep login ping6 sync
catv false ls ps synodd
chgrp fgrep mkdir pwd tar
chmod get_key_value mknod rm touch
chown grep more rmdir true
cp gunzip mount run-parts umount
date gzip mv sed uname
dd hostname netstat sh usleep
df ip ntfs-3g sleep vi
dmesg ipcalc ntfs-3g.probe stat zcat
DiskStation>
Lijkt dus te bestaan. En het script is nu als volgt
Code: Select all
#!/bin/ash
cd "$1"
ls -d *.mkv | sed 's/\(.*\).mkv$/mv "&" "\1.mp4"/' | sh
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 4:49 am
by shypike
Je zou nog eens /bin/sh kunnen proberen, anders weet ik het ook niet meer.
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 5:30 am
by woutf
Is er een manier hoe ik het script wat debugoutput kan laten geven? Zodat ik in de SABnzbd logs kan zien wat er precies fout gaat?
Als ik de regel in het script handmatig draai in een dir met mkv bestanden worden ze gewoon netjes hernoemd.
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 7:37 am
by shypike
Je kunt het script geen debug info laten geven, want het wordt niet uitgevoerd.
Je zou evt. een klein Python script kunnen testen.
Start Python en type:
import os
os.system("/volume2/downloads/scripts/test.sh test-locatie")
^D
Dat zou geen foutmeldingen mogen geven.
Hoe start je trouwens SABnzbd op?
Bij systeem start? Weet je zeker dat SABnzbd hetzelfde PATH krijgt
als dat je ziet bij een command prompt?
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 8:39 am
by woutf
Ik heb SABnzdb geïnstalleerd via de package manager van Synology. Ik zag dat de python binaries in een subdir van de sabnzbd dir zaten, dus heb die directory ook aan het path toegevoegd.
Resultaat van code:
Code: Select all
DiskStation> python
Python 2.6.6 (r266:84292, Apr 3 2011, 20:48:02)
[GCC 4.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system("/volume2/downloads/scripts/test.sh /volume2/downloads/complete/mkvsample")
sh: /volume2/downloads/scripts/test.sh: not found
32512
>>>
DiskStation> ls /volume2/downloads/scripts/
ren.sh test.sh
DiskStation>
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 9:53 am
by shypike
Tja, het lijkt dus de combinatie van het OS en Python die niet werkt.
Nog maar een paar testjes dan.
Direct op de command line:
/volume2/downloads/scripts/test.sh /volume2/downloads/complete/mkvsample
In de Python interpreter:
import os
os.system("echo $PATH")
os.system(". /volume2/downloads/scripts/test.sh /volume2/downloads/complete/mkvsample")
^D
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 9:59 am
by woutf
Code: Select all
DiskStation> /volume2/downloads/scripts/test.sh /volume2/downloads/complete/mkvsample
-ash: /volume2/downloads/scripts/test.sh: not found
DiskStation> sh /volume2/downloads/scripts/test.sh /volume2/downloads/complete/mkvsample
/volume2/downloads/scripts/test.sh: cd: line 2: can't cd to /volume2/downloads/complete/mkvsample
ls: *.mkv: No such file or directory
DiskStation> ls /volume2/downloads/complete
@eaDir TV Thumbs.db mkvsample
Code: Select all
DiskStation> python
Python 2.6.6 (r266:84292, Apr 3 2011, 20:48:02)
[GCC 4.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system("echo $PATH")
/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/sabnzbd/bin/
0
>>> os.system(". /volume2/downloads/scripts/test.sh /volume2/downloads/complete/mkvsample")
sh: cd: line 2: can't cd to /volume2/downloads/complete/mkvsample
ls: *.mkv: No such file or directory
0
>>>
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 11:49 am
by shypike
Je "ash" shell heeft dus gewoon kuren of het ding staat niet in /bin maar ergens anders.
Verander de eerste regel van je script in:
#!/bin/sh
Of anders uitzoeken waar die programma's dan wel staan.
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 16th, 2011, 12:26 pm
by woutf
Vanuit de commandline kan ik het script met zowel sh als bash draaien, maar raar genoeg werkt het script niet.
Code: Select all
DiskStation> ls /volume2/downloads/complete/mkvsample
sample.mkv
DiskStation> bash /volume2/downloads/scripts/test.sh /volume2/downloads/complete/mkvsample
: No such file or directorytest.sh: line 2: cd: /volume2/downloads/complete/mkvsample
ls: *.mkv: No such file or directory
DiskStation> cd /volume2/downloads/complete/mkvsample
DiskStation> ls -d *.mkv | sed 's/\(.*\).mkv$/mv "&" "\1.mp4"/' | sh
DiskStation> ls /volume2/downloads/complete/mkvsample
sample.mp4
Als ik de code los draai werkt het zoals je ziet wel. Ik snap dat dit vast meer aan de Synology ligt dan aan SABnzbd, dus ik waardeer alle hulp die ik hier krijg heel erg. Ik ben een behoorlijke Linux-n00b, maar kom meestal wel ver genoeg om kleine dingen op te lossen. In dit geval snap ik het echt niet
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 17th, 2011, 3:24 pm
by woutf
Ik heb uit wanhoop de hele NAS gewiped, en ben van voren af aan begonnen. Daarbij heb ik het script teruggebracht naar één regel, zonder dat variabelen nodig zijn.
Code: Select all
#!/bin/sh
find /volume2/downloads/complete -name *.mkv | sed 's/\(.*\).mkv$/mv "&" "\1.mp4"/' | sh
Als ik vanuit de terminal "/volume1/scripts/rename.sh" draai werkt het.
/bin/sh bestaat
de directories bestaan
Maar SABnzbd blijft de volgende error geven:
Code: Select all
2011-05-17 22:21:53,416::INFO::[newsunpack:127] Running external script /volume1/scripts/rename.sh(/volume2/downloads/complete/mkv sample.1, mkv sample.nzb, mkv sample, , None, alt.binaries.hdtv.x264, 0)
2011-05-17 22:21:53,580::INFO::[newsunpack:134] Failed script /volume1/scripts/rename.sh, Traceback:
Traceback (most recent call last):
File "/usr/local/sabnzbd/share/SABnzbd/sabnzbd/newsunpack.py", line 132, in external_processing
startupinfo=stup, env=env, creationflags=creationflags)
File "/usr/local/sabnzbd/lib/python2.6/subprocess.py", line 623, in __init__
errread, errwrite)
File "/usr/local/sabnzbd/lib/python2.6/subprocess.py", line 1141, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
Re: SABnzbd op Synology DS211j - kan geen postprocessing scripts runnen
Posted: May 17th, 2011, 3:41 pm
by shypike
Tja, lijkt me toch een probleem met de Python versie van de NAS.