Backup per Cronjob

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Backup per Cronjob

Postby HardySim » 17. August 2003 18:07

Hey, ich hätte mal ne bitte oder zuerst mal ne frage an all die lieben linux-gurus:

kann man seine mysql datenbank, bzw. datenbanken per cronjob backuppen?

also, dass der täglich en backup von ALLEN datenbanken macht und die .sql dateien in nem ordner ablegt?

wär cool, wenn das gehn würd und natürlich noch cooler, wenn mir einer direkt son script geben könnte :)
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim

MySql sichern

Postby wmeinhart » 21. August 2003 20:07

Moin, moin,

das geht am besten durch einen kleinen Job, in dem man seine ganzen Sicherungen unterbringt.

nachstehends als "sicherung" irgendwo speichern (z.B. /root/jobs/sicherung)
und ausführbar machen

die Datei sollte enthalten

#!/bin/bash
# taeglicher Sicherungsjob
# 7 Sicherungen
# erstellt 22.06.2002
# -----------------------------
# selektieren des Wochentages MO, Tu, We . . .
cd /spiegel/backup/`date +%a`
# --- alternativ ein Verzeichnis pro Datum -------
datum=`date +%Y%m%d`
mkdir /spiegel/backup/${datum}
cd /spiegel/backup/${datum}
#-------------------------------
# diverse andere Sicherungen weggelassen
# --------- Datenbanken --------------
./lampp stopmysql
# Pfad zu den Datenbanken anpassen !!!!
tar -czf mysql.db.tar.gz /var/lib/mysql/*
./lampp startmysql
-----------------------------------------------

Zielpfad ist natürlich Geschmacksache

Den Job kann man dann via CRON nachts laufen lassen,

Gruß aus Hamburg

W.Meinhart
User avatar
wmeinhart
 
Posts: 36
Joined: 10. June 2003 19:45
Location: Hamburg

Postby HardySim » 22. August 2003 09:24

hab das gefühl, bei dem script zipt er einfach den sql ordner im lampp ordner, also macht er keinen dump, den man wieder einbaun könnte.. das war net die frage...

es geht mir darum nen cronejob zu machen, der nen sql dump macht und daraus für jede datenbank ne *.sql datei erzeugt, die man dann auch auf andern servern per phpmyadminoder so wieder einfügen kann"


aber schonma thx
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim

Postby Benzman » 22. August 2003 17:48

Warum eignest du dir das Wissen eigentlic nicht selber an? Hab grad mal 5 Minuten gebraucht, um zu wissen, wie es geht, und ich wusste voher genau so wenig wie du.

Also, schreib das Script in etwa so um:

#!/bin/bash
# taeglicher Sicherungsjob
# 7 Sicherungen
# erstellt 22.06.2002
# -----------------------------
# --- alternativ ein Verzeichnis pro Datum -------
datum=`date +%Y%m%d`
mkdir /spiegel/backup/${datum}
cd /spiegel/backup/${datum}
#-------------------------------
# diverse andere Sicherungen weggelassen
# --------- Datenbanken --------------
/opt/lampp/mysql/bin/mysqldump -u root --password=<dein-pass> --all-databases > backup.sql

Das Script führst du dann einmal pro Tag per Cron aus.
Falls du nicht weißt, wie das geht --> "man cron" in die Konsole eingeben
Falls du andere Optionen zum Sichern nehmen willst --> "man mysqldump"
Falls du Permission denied bekommst, wenn du das Script ausführen willst --> "man chmod"
User avatar
Benzman
 
Posts: 132
Joined: 27. July 2003 18:46
Location: Bayern

Postby Kristian Marcroft » 22. August 2003 17:59

Benzman wrote:Falls du Permission denied bekommst, wenn du das Script ausführen willst --> "man chmod"

Hi,

oder "man sudo" :)

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby HardySim » 22. August 2003 19:08

sorry, ich blick da net durch :(

ich hatte ein php script gefunde, aber des will net wirklich und eren andern scripts blick ich net, da müsstet ihr mir mal ganz genau erklären *dumm sei*

aber hier mal mein script, sieht eigentldcih ganz norm aus, aber ich bkomm ne fehlermeldung, dass er beim rename die datei nicht findet...



//$db= 'datenbank-name';

$mydatum= date('d.m.Y_H:i:s');

// Befehl ausführen und in Zipfile speichern
if(
system(sprintf(
'/opt/lampp/bin/mysqldump --opt -h %s -u %s -p%s %s | gzip > %s/dump.sql.gz',
$host,
$user,
$pass,
'hardysim_de',
getenv('DOCUMENT_ROOT')
))
)
{ echo'dump ok<br><br>';
}
rename ("dump.sql.gz","hardysim_de_$mydatum.gz");
echo 'DONE;
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim

Postby Kristian Marcroft » 22. August 2003 19:12

Hi,
um die Datei umzubenennen muss sie erstmal existeiren?
tut sie das denn?
Wenn ja, gib mal den genauen Pfad an also vom / (Root)
z.B.
/home/hardysim/hardysim.tar.gz

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby HardySim » 22. August 2003 19:13

genau das frag ich mich ja, des script müsste ja was von wegen

%s/dump.sql.gz'

als pfad machen, aber ich blcik net, was %s sein soll...
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim

Postby HardySim » 22. August 2003 19:14

PS es kommt allerdings auch keinecho von wegen, dump ok, also stimmt schon was an dem dump net :( *heul*
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim

Postby Kristian Marcroft » 22. August 2003 19:17

Hi,

nimm doch einfach das obige Script?

So long
KriS

P.S: Falls du das wirklich nicht willst, probiere ich "dein" Script später aus.
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby HardySim » 22. August 2003 19:18

ja,a ber WAS ist das? is des irgend en shll script oder sowas *verpeil* sieht mir auf jeden fall net nach php aus.. und ich blcik net, wie ich des einsetzten soll....
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim

Postby HardySim » 22. August 2003 19:26

/opt/lampp/mysql/bin/mysqldump: No such file or directory


das schlecht, oder???


EDIT:

aja, des gehört /opt/lampp/bin/mysqldump dann gehs auch :)

nur wie mach ich da jetzt nen cron draus? - OHNE den ganzen engl. krempel zu lesen ;)
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim

Postby Benzman » 22. August 2003 19:43

Benutz doch einfach das Shellscript, das macht genau das gleiche.

Einfach folgende Sachen als root machen:

# vim /root/sqldump <-- kannst auch nen anderen Editor nehmen, da dann das Script einfügen, speichern
# chmod +x /root/sqldump <-- macht die Datei ausführbar
# crontab -e <-- da dann das einfügen: 0 0 * * * /root/sqldump

Hier nochmal das Script ein wenig vereinfacht:
---

#!/bin/bash
datum=`date +%Y%m%d`
cd /root/mysqldump
/opt/lampp/mysql/bin/mysqldump -u root --password=<dein-pass> --opt --all-databases > backup-${datum}.sql

---
Das führt das Script jeden Tag um 00:00 Uhr aus und das Script erstellt eine Datei namens backup-jjjjmmdd.sql ind /root/mysqldump
<dein-pass> musst du natürlich durch das Passwort von root in mysql ersetzen. Falls keins gesetzt ist, kannst du das --pasword=<dein-pass> weglassen.
Falls du es in ein anderes Verzeichnis speichern willst, musst du das Script anpassen und nicht vergessen, das Verzeichnis zu erstellen wo es reinkommt.
Falls du es zu einer anderen Zeit ausführen willst --> man crontab
User avatar
Benzman
 
Posts: 132
Joined: 27. July 2003 18:46
Location: Bayern

Postby HardySim » 24. August 2003 09:49

k, also des script habich jetzt mit Kris hilfe hinbekommen, nur der cronjb verweigert noch seinen dienst...

ichhab direkt unter /etc/crontab die zeile hinzugefügt, aber er hat se net ausgeführt...

unter suse is mir dann noch aufgefallen, dass es noch extra ordner namens cron.daily usw. gibt, da habsch des script auch nochma reingesetzt, aber hat ma einer ne ahnung, warum des norm. crontab net wollte???
[url=http://www.hardysim.de]
Image[/url]
www.party-safari.net
User avatar
HardySim
 
Posts: 325
Joined: 19. June 2003 10:22
Location: Geisenheim


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 33 guests