Ubuntu MySQL Script zwecks Sicherung per VM-Snapshot

Status
Für weitere Antworten geschlossen.

[SoD]r4z0r

Enthusiast
Thread Starter
Mitglied seit
11.04.2009
Beiträge
3.950
Guten Morgen miteinander,

ich benötige eure Hilfe bei dem erstellen eines Scripts, welches auf Ubuntu 12.04 im Hintergrund läuft und im Sekundentakt die aktuelle Uhrzeit (HH:MM:SS) in eine MySQL Datenbank schreibt.
Hab leider keine Ahnung von Linux Scripts und auch nicht soo viel was MySQL Datenbanken betrifft.

Hintergrund ist, ich möchte das verhalten von einer kompletten VM-Sicherung mit Backup Exec 2012 Agent for VMware & Hyper-V testen. Also ob und wann der letzte Datensatz geschrieben wurde, ob die Datensätze nach dem Backup weiter geschrieben werden und ob es bei einem Restore zu Beschädigugen kommen könnte oder nicht.

Hoffe ihr könnt mir da recht fix helfen.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das sollte so funktionieren, du musst nur noch den Config-Bereich mit deinen Daten füllen und ggfs. das Query etwas anpassen ;)

Code:
#!/bin/sh
#######################################
# Config:
#--------------------------------------
DBUSER="Anwender"	# Datenbank Benutzername
DBPW="geheim"		# Benutzer-Password
DBSERVER="localhost"	# Datenbankserver-Adresse
DBPORT=3306		# Datenbankserver-Port (MySQL standard: 3306)
DATABASE="meineDB"	# Datenbank
TABLE="meineTabelle"	# Tabelle
TBLROW="meineSpalte"	# Spalte für Datum
#--------------------------------------

# get Time
TIME=`date +"%H:%M:%S"`

# mysql query to execute, $TIME will be determined later
QUERY="INSERT INTO $TABLE ( $TBLROW ) VALUES ('$TIME');"

#######################################
# DO NOT TOUCH CODE BELOW THIS LINE ! #
#######################################

mysql --host=$DBSERVER --port=$DBPORT --user=$DBUSER --password=$DBPW --database=$DATABASE --execute="$QUERY"


mfg
foxxx :wink:
 
Hallo foxxx,

vielen Dank für dein Script!
Hab noch eine Schleife drum gemacht und einen 1sec sleep, ist jetzt genau das was ich brauche! :)
So siehts nun aus:
Code:
#!/bin/sh
#######################################
# Config:
#--------------------------------------
DBUSER="root"   # Datenbank Benutzername
DBPW="mysecretdbpw"              # Benutzer-Password
DBSERVER="localhost"    # Datenbankserver-Adresse
DBPORT=3306             # Datenbankserver-Port (MySQL standard: 3306)
DATABASE="test" # Datenbank
TABLE="betest"  # Tabelle
TBLROW="datum"  # Spalte für Datum
#--------------------------------------
n=1
while test "$n" -le "20"
do
        # get Time
        TIME=`date +"%H:%M:%S"`
        # mysql query to execute, $TIME will be determined later
        QUERY="INSERT INTO $TABLE ( $TBLROW ) VALUES ('$TIME');"
        #######################################
        # DO NOT TOUCH CODE BELOW THIS LINE ! #
        #######################################
        mysql --host=$DBSERVER --port=$DBPORT --user=$DBUSER --password=$DBPW --database=$DATABASE --execute="$QUERY"
        n=$((n+1))
        sleep 1
done
Ist zwar vielleicht nicht das effektiveste oder performanteste, aber es ist genau das was ich brauche.
 
Dann ist ja alles klar und hier kann zu.

Sollte nochmal was diesbezüglich sein -> PN an mich und ich mach wieder auf ;)


mfg
foxxx :wink:
 
Status
Für weitere Antworten geschlossen.
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh