Beküldte brato -
Fórum:
Üdv!
Nem értek a linuxhoz csak használom.
A következő a problémám:
A cron időzítést használnám az alábbi beállítással.
brato@brato-OptiPlex-790:~$ crontab -l
#Teszt
* * * * * /home/brato/TESZT.SH >/dev/null 2>&1
TESZT.SH tartalma:
#!/bin/bash
date >> /home/brato/Esemény.txt
/usr/bin/mpg123 /home/brato/django_whistle.mp3
exit
A probléma az, hogy az mp3 fájlt nem játsza le.
A dátumot kiírja a megadott fájlba.
Ha a TESZT.SH fájlt terminálból indítom, akkor minden jól működik.
Operating System: Linux Mint 21
Kernel: Linux 5.15.0-125-generic
Mit rontok el ami miatt nem működik?
Előre is köszönöm a válaszokat.
Ez az időzítés mit vált ki?
Beküldte csuhas32 -
Értékelés:
Látom, még senki nem válaszolt. Ebben még nem vagyok otthon, de hátha segít az együtt gondolkodás is. Ez az időzítés mit okoz, ez mikor fut le?
Amikor a terminálból indítod akkor már lábon a rendszer, felcsatolva a home, megy a hangszolgáltatás...
Nem fut le a második vagy lefut, de nem hallani?
Az jutott eszembe, ha ez mondjuk rendszerindításkor fut, amikor még nincs hangszolgáltatás, akkor is lefut, a fájlba már tud írni, az már megy, annak az eredményét látod, de a hangot még nincs min lejátszani, ezért azt nem hallod.
Mi történik, ha beleteszel a szkriptbe mondjuk 15 másodperc késleltetést? Akkor se hallani?
Vagy mondjuk tesztnek beteszed a cronba, hogy 5 másodpercenként futassa le? Akkor se hallani?
Valami ilyesmit próbálnék elsőre, bár megeshet, hogy nem jó ötlet.
Illetve még egy tipp
Beküldte T.István -
Értékelés:
Van egy elméletem, de ez csak elmélet, semmi nem biztos. Hasonlót tapasztaltam én is, igaz, nem cron, csak simán csináltam menübe egy indítót, ami egy SH fáljt futtatna, és nem működött, miközben ha terminálból indítottam, akkor rendben volt, illetve, ha a mappában rákattintottam, akkor is (előtte megkérdezte, mit akarok csinálni, persze) Ez az SH fájl az /opt/ alatt volt külön mappában. Sajnos nem tudtam többet foglalkozni vele, mert a laptop gazdája sietett, és vitte magával a gépet.
Az elméletem az, hogy van valamiféle jogosultsági korlátozás, aminek célja, hogy ne fusson automatikusan akármi, oszt lehet ez bekavar, vagy valamiképpen további dolgok is kellenek, ahhoz hogy működjön. Már elég régóta nem működik ugyanígy az at parancs sem (adott időben hajtson végre valamit -ez lenne a célja), és ez hasonló biztonsági okok miatt lett lekorlátozva kósza hírek szerint.
Tippem az lenne, hogy ki kellene próbálni, hogy az mpg123-at áttenni a saját mappa alatt levő bin mappába, és megnézni, hogy ezzel így mi történik? Ill. előtte, ha így lefutott az ütemezés, egy dmesg-et kellene futtatni, hátha van benne valami amiről kiderül, hogy mi történt a futtatás során.
A naplófájlok sem tudják, mi baja?
Beküldte kami911 -
Értékelés:
A
-ban nem írja, mi a cron baja, vagy a cron log-ban?
Illetve még egy tipp
Beküldte brato -
Értékelés:
A dmesg -ben az alábbi sort találtam pirossal írva, de ez nekem kínai.
[ 3966.208608] mpg123[3208]: segfault at 7f3c6dda8560 ip 00007f3c6dda8560 sp 00007ffd58912088 error 15 in libpthread.so.0[7f3c6dda8000+1000]
[ 3966.208616] Code: 00 00 00 00 00 00 00 00 00 00 ec 00 00 00 11 00 f1 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 00 00 00 12 00 0e 00 <00> 11 00 00 00 00 00 00 05 00 00 00 00 00 00 00 55 00 00 00 12 00
A naplófájlok sem tudják, mi baja?
Beküldte brato -
Értékelés:
syslog-ban ezt találtam ami ide vonatkozhat.
Nov 13 10:41:01 brato-OptiPlex-790 CRON[3205]: (brato) CMD (/home/brato/TESZT.SH >/dev/null 2>&1)
Nov 13 10:41:01 brato-OptiPlex-790 kernel: [ 3966.208603] show_signal_msg: 17 callbacks suppressed
Nov 13 10:41:01 brato-OptiPlex-790 kernel: [ 3966.208608] mpg123[3208]: segfault at 7f3c6dda8560 ip 00007f3c6dda8560 sp 00007ffd58912088 error 15 in libpthread.so.0[7f3c6dda8000+1000]
Be kell állítani a Cron
Beküldte lynx -
Értékelés:
Be kell állítani a Cron környezeti változókat.
#!/bin/bash
export DISPLAY=:0
export XDG_RUNTIME_DIR=/run/user/$(id -u)
date >> /home/brato/Esemény.txt
/usr/bin/mpg123 -o pulse /home/brato/django_whistle.mp3
exit
Be kell állítani a Cron
Beküldte brato -
Értékelés:
Köszönöm a megoldást!
Már jól működik.