PDA

Bekijk Volledige Versie : [linux] Na start one time script to run



Mikey
05/04/04, 23:54
Kan iemand mij misschien vertellen hoe je in redhat na een reboot een eenmalige script kan laten lopen. Dit mag voor of na het inloggen gebeuren. Het gaat erom dat ik een server compleet kan afleveren en dat hij een automatische update sessie draait in datacenter nadat server aangesloten wordt. Iemand misschieen een id ?


Ooh het gaat om Redhat 9 en fedora.

The MAzTER
06/04/04, 00:31
init.d ?

WilcoOnline
06/04/04, 00:38
misschien gewoon regel toevoegen in zijn /etc/rc.d/rc.local

electric
06/04/04, 00:53
als je het in de init.d of rc.local zet dan word die met elke boot uitgevoert. wat Mikey zoekt is om een script maar 1 maal met de 1e boot te laten runnen. ( correct me if i'm wrong )

Mikey
06/04/04, 01:01
ja, het gaat er eigenlijk om na de kickstart, ik had nat de %post al wat toegevoegt, maar aangezien de eth0 iface dan nog niet up is moet het anders. Waar ik ook aan zat te denken is het volgende

cp /mnt/sysimage/etc/rc.d/rc.local rc.local.fresh
echo "sh path to script" > /mnt/sysimage/rc.d/rc.local

en dan naderhand de rc.local.fresh weer terug zetten. Maar vind het een beetje omslachtig.

iemand een ander idee ?

Mikey
06/04/04, 01:02
windows heeft namelijk zo`n optie in het register, en die zit bij runonce.

electric
06/04/04, 01:44
Once we boot into the new machine for the first time, we still might need to initialise some things. This is done using a runonce script. Basically, we have a /etc/init.d/runonce script, which gets executed as one of the rc scripts. So the first time the machine is booted, this script runs and does what ever installation it wants. After it is done, it deactiviates itself.

Currently the runonce script, initialises the tripwire and locate database, and imports the public ssh host keys of all the other machines.


Dit is 't enige wat ik zo snel heb gevonden. misschien dat dit wat is?

Mikey
06/04/04, 01:59
Create a script called runonce and put in /etc/rc.d/init.d, in your post
install run chkconfig --level 345 runonce on, in your runonce script put
any where chkconfig --del runonce.

maartenba
06/04/04, 12:02
Een typische programmeursoplossing zou zijn:
- Zet script in init.d
- Laat het script een keer iets in een betsnad schrijven (een 1 of zo), controleer dat elke keer, en als er een1 staat -> geen acties uitvoeren, anders wel...

HBCS
06/04/04, 15:00
kan je in het script niet opnemen na gedaan te zijn mv of rm -rf
moet volgens mij wel kunnen
en dan kun je hem wel zetten in local of crontab

luser
06/04/04, 17:27
Eerst plaats je dit in de rc.local of andere gewenste plaats:
if [ -x /etc/rc.d/rc.runonce ]; then
/etc/rc.d/rc.runonce
fi

Dan maak je de /etc/rc.d/rc.runonce:
#!/bin/sh
-Hier komt de scripting die je wou-
mv /etc/rc.d/rc.runonce /etc/rc.d/rc.runonce.done

Dan nog ff chmod 711 /etc/rc.d/rc.runonce en je boel werkt ;)

Mikey
06/04/04, 19:21
merci :), maar had al een werkend iets inmiddels. :) iig bedankt

Carl<n-media>
06/04/04, 19:32
Origineel geplaatst door Mikey
merci :), maar had al een werkend iets inmiddels. :) iig bedankt
Misschien zou je de oplossing kunnen posten. Dat maakt het forum informatief. En als mensen met hetzelfde probleem zitten, hoefen ze geen nieuw topic te openen maar gebruiken gewoon even de search.