fisi-azubi2010
Goto Top

Einmaliges Ausführen eines Cronjobs per etc crontab bzw. Anacrontab

Also ich will 50 Rechner imagen und auf das Image soll ein Script drauf das den Rechnernamen anhand der IP ändert.
Das Script ist fertig und muss also nur ein einziges mal ausgeführt werden sobald das nächste mal ins Linux gebootet wird.
Ich habe dabei an Cronjobs gedacht also mithilfe von /etc/Crontab bzw. habe gelesen das nur anacron solche einmal Jobs erledigen kann.

Jetzt kommt die Frage der Fragen: Aber wie?

also soweit meinem Verständnis existiert im Verzeichnis /etc eine anacrontab die auf der Crontab aufbaut.

die sieht bei mir so aus

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# These replace cron's entries 
1	5	cron.daily	 nice run-parts --report /etc/cron.daily
7	10	cron.weekly	 nice run-parts --report /etc/cron.weekly
@monthly	15	cron.monthly nice run-parts --report /etc/cron.monthly

Bei allem was ich so gefunden habe bei "Mr Google" steht nur wie man periodische Jobs definiert.

Content-Key: 98959

Url: https://administrator.de/contentid/98959

Printed on: April 19, 2024 at 11:04 o'clock

Member: dog
dog Oct 10, 2008 at 10:54:44 (UTC)
Goto Top
Machs dir doch einfacher:

Leg ein Script an, packe eine Verknüpfung darauf (unter debian mit updaterc) in den entsprechenden rc-init Ordner und wenn alles erfolgreich war lass das Script die Verknüpfung selbst löschen.
Member: FISI-Azubi2010
FISI-Azubi2010 Oct 10, 2008 at 12:12:11 (UTC)
Goto Top
ok jetzt noch mal bitte für ganz dumme hab nicht soviel mit Linux am hut. Mit rc-init Ordner meinst du die Verzeichnisse /etc/rc(1-6 und S die vermutlich mit den Runlvln zu tun haben oder).d oder?

und ich versteh das so das ich das Script in /etc/init.d kopiere und den Link in /etc/rc().d und der rcS.d ist für einen angemeldeten User


also so funktionierts nicht. Das Script selber von der Shell aus gestartet schon.
Member: dog
dog Oct 10, 2008 at 12:22:28 (UTC)
Goto Top
ok jetzt noch mal bitte für ganz dumme hab nicht soviel mit Linux am hut. Mit rc-init Ordner meinst
du die Verzeichnisse /etc/rc(1-6 und S die vermutlich mit den Runlvln zu tun haben oder).d oder?

Ja, diese Dateien werden beim Wechseln in ein Runlevel aufgerufen (also zum Beispiel beim Hochfahren). Das aktuelle runlevel kannst du dir in der Kommandozeile mit dem "runlevel" Befehl anzeigen lassen.

und ich versteh das so das ich das Script in /etc/init.d kopiere und den Link in /etc/rc().d und
der rcS.d ist für einen angemeldeten User

die Dateien in rc{1-6}.d werden immer mit root Rechten ausgeführt.
Mitglied: 6890
6890 Nov 04, 2008 at 11:21:38 (UTC)
Goto Top
Tach,

um unter Linux einen Job nur einmal auszuführen kann man at nutzen. Einfach mal manpage lesen.