Ik zou in de eerste plaats maar eens dat su eruit halen.
Als je iets door de taakplanner laat uitvoeren kun je daar kiezen als welke user (of als root) het script wordt uitgevoerd.
dus dit in de taakplanner zetten:
"/var/services/homes/a.appel/tvgrabpyAPI-stable-1.0.7/tv_grab_nl3.py --language nl --disable-ttvdb -C /var/services/homes/a.appel/.xmltv/tv_grab_nl3_py.conf -A /var/services/homes/a.appel/.xmltv/program_cache3.db -W /var/packages/DVBLinkServer/target/share/xmltv/data.xml"
Dat zou je wel zeggen, he.... Maar nee, hier heb ik de vorige keer, met Synology support al een paar weken over zitten stoeien. Dit script heeft een beveiliging, zodat het niet als root gerund kan worden. Als ik die su eruit haal, draait de taakplanner hem altijd als root. Ook als ik aangeef dat ie hem als a.appel moet draaien. Vraag me niet waarom, maar het gebeurt. En Synology support snapt ook niet waarom... Uiteindelijk zijn we op deze "omweg" uitgekomen om toch als a.appel het script te laten draaien.
Verder moet je toch even kijken naar de locatie waar de log wordt weggeschreven.
Die staat niet op je commandline dus zit die ergens hardcoded in het script? Of bedoel je met die log de output file?
De log wordt geschreven in de .xmltv directory en is hardcoded in het script. Tenminste, ik kan het niet met een optie of parameter aangeven dat ie het ergens anders moet schrijven. En er wordt wel in het log geschreven, alleen niet de juiste tekst. Het script haalt in een taal file de juiste tekst op en schrijft dat in het log file. Echter, dat ophalen gaat niet goed. En dus schrijft het script een error (of eigenlijk 3 Mb aan error regels) in het log file.
Ook zie ik dat hij de output probeert weg te schrijven in de folder waar het package geinstalleerd staat, daar heb je als normale gebruiker geen schrijfrechten, dus tenzij dat package daar de rechten heeft aangepast, kan jouw script daar niet schrijven.
De output wordt geschreven naar de XML import directory van DVBLink. Daar heeft elke user lees- en schrijfrechten.
Je hebt dus drie opties.
1. Het package ook group rechten uit laten geven
2. Een group aanmaken en met winscp de folder waar de output komt plus jezelf aan die group toevoegen
3. Het script als root laten draaien in de taakplanner
1 en 2 begrijp ik niet goed. Kun je dat iets uitgebreider uitleggen?
3. werkt niet; de beveiliging in het script laat het niet als root draaien. Vraag me niet waarom, maar het kan niet...