.sh dateien schreiben

Status
Für weitere Antworten geschlossen.
M

MiNdFrReAk

Guest
Hallo,
habe mal eine allgemeine frage zu FreeBSD

Ich möchte eine Anwendung die bereits perfekt klappt bei FreeBSD neu starten.
Dazu zählen die MYSQL und FTP Server.

Meine Fragen:

Wie kann man den MYSQL Server stoppen und dann wieder starten?
Wie kann man das gleiche wieder mit dem FTP server machen?

Kann man dies dann auch noch um 4:00 Uhr nachts machen bzw. das es
sich dann automatisch in bewegung setzt um 4:00 Uhr (ist ein root).

Danke..

PS: Wenn möglich gut erklären.. Möchte das in einer sh datei (glaube das heist so?) speichern und dann um 4:00 Uhr gestartet werden.
 
Um Daemonen wie MySQL und ftpd zu starten und stoppen, gibt es rc-Skripten in /etc/rc.d/ und /usr/local/etc/rc.d/.
Diese kannst du aufrufen:
Code:
# /etc/rc.d/ftp restart
# /usr/local/etc/rc.d/mysql-server restart

Oder seit ein paar Monaten in 8-STABLE und bald in 8.2:
Code:
# service ftpd restart
# service mysql-server restart

Wenn du das dann um 4 Uhr nachts machen willst, nimmst du am besten at(1)


EDIT:
Wie dettus schon vorgeschlagen hat: Wenn es regelmässig um 4h nachts passieren soll, nimm cron(8)
 
willst du nachher auch metin2 laufen lassen?

guck dir mal an was cron macht. :belehren:

War eine Allgemeine Frage und hat nichs mit Metin zu tun (:


Um Daemonen wie MySQL und ftpd zu starten und stoppen, gibt es rc-Skripten in /etc/rc.d/ und /usr/local/etc/rc.d/.
Diese kannst du aufrufen:
Code:
# /etc/rc.d/ftp restart
# /usr/local/etc/rc.d/mysql-server restart

Oder seit ein paar Monaten in 8-STABLE und bald in 8.2:
Code:
# service ftpd restart
# service mysql-server restart

Wenn du das dann um 4 Uhr nachts machen willst, nimmst du am besten at(1)


EDIT:
Wie dettus schon vorgeschlagen hat: Wenn es regelmässig um 4h nachts passieren soll, nimm cron(8)

Danke für die Schnelle antwort!
 
Hallo MiNdFrReAk :)

du könntest das, dein Vorhaben über einen cron job realisieren

Begriffserklärung

# http://de.wikipedia.org/wiki/Cron
# http://www.unixgeeks.org/security/newbie/unix/cron-1.html ...../> schon etwas älter :)

mit einem cron job automatisierst Du Abläufe also zum Beispiel Emails abholen/senden, Backups laufen lassen und so weiter.und so fort..

hierzu rate ich Dir auch das Handbuch durchzuarbeiten

# http://www.freebsd.org/doc/de/books/handbook/basics.html
# http://www.freebsd.org/doc/de/books/handbook/config-tuning.html

Eine andere Alternative zu cron ist der at Befehl unter Unix

Begriffserklärung - Einführung - Übersicht

# http://de.wikipedia.org/wiki/At_(Unix)
# http://www.netzmafia.de/skripten/unix/unix4.html ..../> auch schon älter

so später dann und falls Du mal Lust hast zu programmieren ginge zum Beispiel eine Zeitgesteuerte Programmausführung auch ohne cron zu bemühen zum Beispiel in einen Ruby Skript

Code:
#!/usr/bin/ruby

def background_run_at(time)
fork do
sleep(1) until Time.now >= time
yield
end
end

heute = Time.now
mittag = Time.local(heute.year, heute.month, heute.day, 12, 0, 0)
raise Exception, "Es ist bereits mittag" if mittag < Time.now

background_run_at(mittag) { puts "Am mittag ausgeführt!" }

Aber zu Anfang rate ich Dir zuerst mal die Handbücher zu lesen und zu reflektieren ja zu Anfang ist alles etwas schwerer aber dennoch Unix bietet Dir soviel man muss nur von Zeit zu Zeit drauf hingewiesen werden....

Viel Spass beim Erringen der neuen Erkenntnisse :)

MFG der rudy
 
Zuletzt bearbeitet:
Muss ich dazwischen noch ein sleep setzen damit beide in ruhe einzeln neustarten können?
 
Naja vllt Linux(in)fizierung? :P
Aber trotzdem, schreibst du lieber "/usr/local/etc/rc.d/apache22 start", oder einfach "service apache22 start"? Da finde ich letzteres schon praktischer. ;)

Ausserdem hat es noch ein paar praktische Vorzuege, zb kannst du mit -e alle eingeschalteten Dienste nachgucken.
 
Und, was service auch macht, es setzt die Environment wie in /etc/rc zur Boot Zeit, speziell den PATH.

Ich hatte schon öfter mal Cronjobs die fehlschlagen, weil ich kein /usr/bin im PATH hatte, das musste ich dann jeweils vor das Kommando frickeln.

Mit service (was ich aus diesem Thread jetzt kenne ;)) geht es aber übersichtlicher :)
 
Kleine Frage noch... Ich habe einen Dienst der sich startet. Und sobald ich dann alles restarten möchte, möchte ich auch das dieser dienst sich beendet. Geht das ?
 
Das "alles" können wir ja mal außer Acht lassen. Z.b. ich starte eine Anwendung.
Kann ich diese dann auch beenden mit einem FreeBSD befehl?
 
Du startest deine Anwendung mit einem rc script ueber "service blablubb (one)start" und willst sie wieder beenden? Verstehe ich das richtig? Dann kannst du einfach ein "service blablubb stop" absetzen.

Wenn nicht hilft dir vllt ein killall(1), oder ein kill(1), wenn du die pid weisst.
 
Wenn der Dienst nicht in der rc.conf definiert ist (z.B. der Dienst soll nicht nach einem Neustart gestartet werden, oder wird nur sporadisch gebraucht), muss ein one im Befehle hinzugefügt werden.
Code:
service ${DIENST} onestart
service ${DIENST} onestop
service ${DIENST} onerestart

oder
Code:
/etc/rc.d/${DIENST} onestart
/usr/local/etc/rc.d/${DIENST} onestop
/usr/local/etc/rc,d/${DIENST} onerestart
 
Okay, ist wieder offen. Nach kurzer interner Diskussion haben wir uns entschieden, dass es im Zweifel für den Angeklagten heißt. Es gibt zugegeben Hinweise zu Metin2, aber auch Dinge, die dagegen sprechen. Da es heißt, im Zweifel für den Angeklagten, könnt ihr weitermachen. Also zurück zum Thema :)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben