TCH (statz) | #1, Főfasz (10443) |
1703 | #5668 | ^ | Idézet | Sat, 03 Dec 2022 14:47:33 +01 |
84.236.*.* | *.pool.digikabel.hu |
Hogy futtatsz le egy scriptet boot-kor? Beleírod az /etc/rc.local file-ba, az exit 0 elé valahová és kész. És shutdown-kor/reboot-kor? Na, erre mire rájöttem, bazdmeg... A neten mindenütt azt írják, hogy fogd a script-edet, kúrd be az /etc/init.d könyvtárba, majd chmod 755 /etc/init.d/scriptname ln -s /etc/init.d/scriptname /etc/rc0.d/K01scriptname # shutdown-hoz ln -s /etc/init.d/scriptname /etc/rc6.d/K01scriptname # reboot-hozNa ez az, ami nem működik. És nem, nem azért, mert a /var/lock/subsys/scriptname file nem létezik, amikor reboot-ot/shutdown-t nyomsz és ezért nem futtatja le. Helyes megoldás (legalábbis Debian alapú rendszerek alatt): #!/bin/sh ### BEGIN INIT INFO # Provides: scriptname # Required-Start: # Required-Stop: # Default-Start: # Default-Stop: 0 6 # Short-Description: Mindegy... # Description: Mindegy... ### END INIT INFO /path/to/scriptname # vagy bebaszhatod a script tartalmát is ide... exit 0Na, ezt kell bekúrni az /etc/init.d-be scriptname néven (a lényeg, hogy a script neve megegyezzen a "Provides" LSB mező tartalmával), utána pedig chkconfig --level 06 scriptname onNem kell foglalkozni vele, hogy azt írja chkconfig --list scriptname parancsra, hogy mindegyik level-en off, az /etc/rc0.d/K01scriptname és /etc/rc6.d/K01scriptname fájlokat létrehozta és azt is belőtte, amit még kellett, mert így működik. (Sajnos nem tudom mit állított még be, mert a chkconfig Perl-ben van írva és People Hate Perl én azon a nyelven nem "beszélek"...) |