Da wo der Befehl zum Starten von mysql steht,
z. b /usr/local/bin/privatstart & hinschreiben. Wichtig ist der & - sonst wirds nix
in /usr/local/bin/privatstart steht dann:
Code: Alles auswählen
#!/bin/bash
echo "Starten Mysql mit Verzoegerun..."
# wir warten ne Minute
sleep 60
# und los
dein Original-Startbefehl aus dem Init-Script
exit $?
Das ganze noch mit chmod ausführbar machen und gut is...
Bitte beachten, den Original-Initscript vorher zu sichern - und den geänderten auch, da der ggf bei einem Update
überschrieben werden könnte - und dann weiß man nach Wochen oft nicht mehr, was man am System geändert hat.
Daher gibt es in meinem /home/pferd nen Ordner doku, wo ich sowas dann reinschreibe. Wenn was nicht mehr klappt,
schau ich dann erst mal da nach, wo ich rumgepfuscht habe.
Hier noch dass kleine C-Programm - der #include <libpferd.h> muss raus
und die funktion nonewline selbst gebastelt werden - da wird nur das
new-line, falls vorhanden, entsorgt.
Code: Alles auswählen
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <tzn.h>
#include <unistd.h>
#include <libpferd.h>
// aenderung am 01.03.2013
// automatisches ergaenzen &
int rc;
char cmdtab[20][256];
char cmd[1024];
int itab;
int pid;
int cmdlength;
int main(int argc, char *argv[]) {
#include <tzp.h>
if (argc > 20) {
rc = 1;
printf("Zu viele Argumente\n");
exit (rc);
}
if (argc < 2) {
rc = 1;
printf("Bitte Programm mit Parametern eingeben, dass als\n");
printf("Hintergrundprozess laufen soll\n");
exit(rc);
}
strcpy(cmd,"");
itab = 1;
while (itab < argc) {
strcat(cmd,argv[itab]);
nonewline(cmd);
strcat(cmd," ");
itab = itab + 1;
}
printf(cmd);
cmdlength=strlen(cmd);
/* - 2, weil weiter oben noch */
/* ein space angehaengt wird */
cmdlength=cmdlength - 2;
if (cmd[cmdlength] == '&') {
printf("& schon vorhanden - nix zu tun");
}
else {
strcat(cmd," &");
printf("%s%s","Cmd changed:",cmd);
}
printf("\n");
pid = fork();
if (pid > 0) {
printf("\n");
return 0;
}
rc = system(cmd);
return rc;
}