Sziasztok,
Mostmár muszáj segítséget kérnem mert már mindent elolvastam de akkor sem találom a megoldást.
Akarok egy scriptet futtatni reboot/shutdown-kor de az istennek sem fut le a stop ága. A gép remote van, konzolját nem látom.
reboot és shutdown -r now parancsokkal indítgattam újra de nem végzi el a melót.
start-ra működik, bootoláskor létrehozza a file-t, pedig start-ra nem is akarom hogy a végleges csináljon bármit is, csak stop-ra.
Már a hajam tépem, van valakinek ötlete? Handbook, porters handbook, documentation megvolt de vagy vak vagyok vagy nemtudom... :(
Előre is köszi mindenkinek.
Így néz ki jelenleg a tesztverzió:
#!/bin/sh
# PROVIDE: zfs_custom
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="zfs_custom"
rcvar="zfs_custom_enable"
start_cmd="zfs_custom_start"
stop_cmd="zfs_custom_stop"
zfs_custom_start()
{
touch /tmp/start.txt
}
zfs_custom_stop()
{
touch /tmp/stop.txt
}
load_rc_config $name
run_rc_command "$1"
----- update: -----
sehogy nem sikerült dűlőre jutnom, de az egyik hozzászólásnak köszönhetően alaposabban átnéztem az rc.shutdown scriptet aminek a végén ez szerepelt:
# Insert other shutdown procedures here
szóval ide beraktam a scriptemet és működik a dolog.
sajnos rebootkor nem, de shutdown -r használatakor lefut, úgyhogy mostmár csak magamat kell fegyelmeznem hogy reboot parancsot ne használjak :) a szünetmentes pedig úgyis shutdown-t ad ki.
köszönöm mindenkinek.
ui: az 1 nap alatt több mint 1300 megtekintésen kicsit azért meglepődtem :)
- 6268 megtekintés
Hozzászólások
Az megvan, hogy a gep start up eseten torli a /tmp -t?
Vagyis ha stopkor irsz oda valamit, akkor on boot up torlodni fog. A custom_start meg csak az utan fut le, hogy a /tmp mar tiszta.
- A hozzászóláshoz be kell jelentkezni
próbáltam egyszerre 3 különböző helyre
/root/
/1/
/
de sehova nem rakta le a file-t.
- A hozzászóláshoz be kell jelentkezni
Ez a törlés alapból nincs engedélyezve, kell egy rc.conf-beli clear_tmp="YES" hozzá.
Tipp:
- /etc/rc.shutdown sript használata
- nem lehet, hogy már umountolt /tmp-be írsz. (Igaz, /root-ban azért működnie kéne.)
Nem hibás az a törlés/létrehozás? Izé a stop része. Bár nem annak néz ki.
- A hozzászóláshoz be kell jelentkezni
Most átírtam hogy minden ilyen tmp kérdés megoldódjon, a /1/ könytárba írom a file-t amin chmod 777 van, de a helyzet változatlan.
Nem hibás a stop rész mert ha kézzel futtatom stop-al akkor lefut, elvégzi a dolgát.
rc.shutdown scriptet megnézem, köszönöm, eddig nem akartam beleírni, bíztam benne hogy ennél van "official"-abb megoldás.
- A hozzászóláshoz be kell jelentkezni
rcorder /etc/rc.d/*
igaz ez elso korben indulasra fejti ki, hogy milyen sorrendben indulnak el a dolgok, bele kellene nezni a scriptbe / kodba, es at kellene irni stopra is
___
info
- A hozzászóláshoz be kell jelentkezni
sima zfs csak ennyit tartalmaz:
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: zfs
# REQUIRE: mountcritlocal
. /etc/rc.subr
name="zfs"
rcvar="zfs_enable"
start_cmd="zfs_start"
stop_cmd="zfs_stop"
required_modules="zfs"
...
valoszinleg a LOGIN nem sul el leallitaskor, te meg arra dependelsz
___
info
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam kétféleképpen is:
# PROVIDE: zfs_custom
# REQUIRE: mountcritlocal
# KEYWORD: shutdown
és
# PROVIDE: zfs_custom
# KEYWORD: shutdown
Egyik sem segített :( Boot-kor a start lefut, de rebootkor v. shutdown -r esetén a stop ág nem.
Azért köszönöm.
- A hozzászóláshoz be kell jelentkezni
updated, closed, thx all.
- A hozzászóláshoz be kell jelentkezni
Ertem, hogy van kerulo megoldas, de azert probaljuk meg megtalalni a bajt:
- pontosan milyen oprendszer es verzio?
- hova raktad a scriptedet?
- milyen neven van pontosan?
- van futtatasi joga?
- "fgrep -e local_rc -e local_startup /etc/defaults/rc.conf /etc/rc.conf" kimenetet iderakod?
- jail-ben vagy-e?
- "rcorder -k shutdown /etc/rc.d/*" kimeneteben benne van a scripted?
- ha jailben vagy, akkor "rcorder -k shutdown -s nojail /etc/rc.d/*" kimeneteben latszik a tied?
- (ha van local_startup, akkor fenti rcorderes parancsok vegere odateszed a /x/y/z/* parametert - ertelemszeruen /x/y/z helyere a local_startup-ban szereplo konyvtarak mindegyiket behelyettesitve)
- nincs a local_startup konyvtarakban esetleg egyeb altalad keszitett script *.sh neven? (Lehet,hogyy inkabb azzal van a baj, es nem a mostanival?)
- A hozzászóláshoz be kell jelentkezni
ez segithet benne:
reszlet az /etc/rc.subr filebol:
#
# debug message
# If debugging is enabled in rc.conf output message to stderr.
# BEWARE that you don't call any subroutine that itself calls this
# function.
#
debug()
{
case ${rc_debug} in
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
if [ -x /usr/bin/logger ]; then
logger "$0: DEBUG: $*"
fi
echo 1>&2 "$0: DEBUG: $*"
;;
esac
}
___
info
- A hozzászóláshoz be kell jelentkezni