Zaloha mysql

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
Scorp
Používateľ
Používateľ
Príspevky: 2225
Dátum registrácie: So 09. Apr, 2005, 20:00
Bydlisko: Krankenhaus

Zaloha mysql

Príspevok od používateľa Scorp »

potrebujem zalohovat 2 mysql db, kazdu hodinu
rozmyslal som nad php skriptom, ale to by som musel neustale spustat z browsera, aby to robilo same, to neviem ako :(
dalej planovac uloh vo win a mysqldump... len neviem ako to bude s nazvami suborov, ci sa mi nebude kazdu hodinu premazavat jeden subor

uplne naj by bol nejaky program, alebo skript, ktory by db zalohoval, skomprimoval, dokazal uploadnut na ftp, odoslat na mail a ulozit na hdd :) istota :)

da sa to nejak poriesit?
Me like Pentium
Používateľov profilový obrázok
RP
Administrátor
Administrátor
Príspevky: 2549
Dátum registrácie: St 21. Mar, 2001, 20:00
Bydlisko: Kosice

Re: Zaloha mysql

Príspevok od používateľa RP »

Scorp napísal:potrebujem zalohovat 2 mysql db, kazdu hodinu
rozmyslal som nad php skriptom, ale to by som musel neustale spustat z browsera, aby to robilo same, to neviem ako :(
dalej planovac uloh vo win a mysqldump... len neviem ako to bude s nazvami suborov, ci sa mi nebude kazdu hodinu premazavat jeden subor

uplne naj by bol nejaky program, alebo skript, ktory by db zalohoval, skomprimoval, dokazal uploadnut na ftp, odoslat na mail a ulozit na hdd :) istota :)

da sa to nejak poriesit?
Este som cosi take nerobil, ale keby som mal tak by som to skusil cez nejaky cron script v php.
Používateľov profilový obrázok
Scorp
Používateľ
Používateľ
Príspevky: 2225
Dátum registrácie: So 09. Apr, 2005, 20:00
Bydlisko: Krankenhaus

Príspevok od používateľa Scorp »

cron... cron... cron... nie je to len pre linux? :?
Me like Pentium
Používateľov profilový obrázok
RP
Administrátor
Administrátor
Príspevky: 2549
Dátum registrácie: St 21. Mar, 2001, 20:00
Bydlisko: Kosice

Príspevok od používateľa RP »

Scorp napísal:cron... cron... cron... nie je to len pre linux? :?
Ano, je.

Takze Ti to bezi pod WIndowsom. Tak potom asi najlepsie cez planovac uloh.

A to nasledujuco. Planovacom spustit program ktory sam vytvoris - to v com je na Tebe (Pascal, C, cosi vyssie ...) ... Tvoj program spusti mysqldump a potom subor ktory mysqldump vytvori premenuje podla toho ako potrebujes.
Napriklad si vezme od systemu aktualny cas, rozbije ho na podretazce a z hodiny a datumu vytvori retazec ktory bude novym menom premenovaneho suboru z mysqldump.
Používateľov profilový obrázok
Scorp
Používateľ
Používateľ
Príspevky: 2225
Dátum registrácie: So 09. Apr, 2005, 20:00
Bydlisko: Krankenhaus

Príspevok od používateľa Scorp »

cize ak by som spustil len mysqldump -u -p db > x:\y.sql a bude sa to opakovat kazdu hodinu, tak to bude neustale prepisovat ten isty subor a nebude novovytvorene subory pomenuvavat x(2).sql atd...?
Me like Pentium
Používateľov profilový obrázok
RP
Administrátor
Administrátor
Príspevky: 2549
Dátum registrácie: St 21. Mar, 2001, 20:00
Bydlisko: Kosice

Príspevok od používateľa RP »

Scorp napísal:cize ak by som spustil len mysqldump -u -p db > x:\y.sql a bude sa to opakovat kazdu hodinu, tak to bude neustale prepisovat ten isty subor a nebude novovytvorene subory pomenuvavat x(2).sql atd...?
Neviem ale pochybujem ze to je take jednoduche. Skus ci to pojde.

Ak nie tak sa to da spravit aj nasledujucim sposobom. Cez takyto batch file (subor prebraty z netu ... stale si ale myslim ze je lepsie pristup co som navrhol predtym, ale ok da sa aj takto) :

//--- Begin Batch File ---//
@echo off

:: Set some variables
set bkupdir=E:\MySQL\backup
set mysqldir=E:\MySQL
set datadir=E:\MySQL\data
set logdir=E:\MySQL\logs
set dbuser=username
set dbpass=password
set zip=C:\GZip\bin\gzip.exe
set endtime=0

:GETTIME

:: get the date and then parse it into variables
for /F "tokens=2-4 delims=/ " %%i in ('date /t') do (
set mm=%%i
set dd=%%j
set yy=%%k
)

:: get the time and then parse it into variables
for /F "tokens=5-8 delims=:. " %%i in ('echo.^| time ^| find "current" ') do (
set hh=%%i
set ii=%%j
set ss=%%k
)

:: If this is the second time through then go to the end of the file
if "%endtime%"=="1" goto END

:: Create the filename suffix
set fn=_%yy%%mm%%dd%_%hh%%mm%%ss%

:: Switch to the data directory to enumerate the folders
pushd %datadir%

:: Write to the log file
echo Beginning MySQLDump Process > %logdir%\LOG%fn%.txt
echo Start Time = %yy%-%mm%-%dd% %hh%:%ii%:%ss% >> %logdir%\LOG%fn%.txt
echo --------------------------- >> %logdir%\LOG%fn%.txt
echo. >> %logdir%\LOG%fn%.txt

:: Loop through the data structure in the data dir to get the database names
for /d %%f in (*) do (

:: Create the backup sub-directory is it does not exist
if not exist %bkupdir%\%%f\ (
echo Making Directory %%f
echo Making Directory %%f >> %logdir%\LOG%fn%.txt
mkdir %bkupdir%\%%f
) else (
echo Directory %%f Exists
echo Directory %%f Exists >> %logdir%\LOG%fn%.txt
)

:: Run mysqldump on each database and compress the data by piping through gZip
echo Backing up database %%f%fn%.sql.gz
echo Backing up database %%f%fn%.sql.gz >> %logdir%\LOG%fn%.txt
%mysqldir%\bin\mysqldump --user=%dbuser% --password=%dbpass% --databases %%f --opt --quote-names --allow-keywords --complete-insert | %zip% > %bkupdir%\%%f\%%f%fn%.sql.gz
echo Done...
echo Done... >> %logdir%\LOG%fn%.txt
)

:: Go back and get the end time for the script
set endtime=1
goto :GETTIME

:END
:: Write to the log file
echo. >> %logdir%\LOG%fn%.txt
echo --------------------------- >> %logdir%\LOG%fn%.txt
echo MySQLDump Process Finished >> %logdir%\LOG%fn%.txt
echo End Time = %yy%-%mm%-%dd% %hh%:%ii%:%ss% >> %logdir%\LOG%fn%.txt
echo. >> %logdir%\LOG%fn%.txt

:: Return to the scripts dir
popd

//--- End Batch File ---//
Používateľov profilový obrázok
CrakeN
Ban
Ban
Príspevky: 995
Dátum registrácie: St 20. Apr, 2005, 20:00
Bydlisko: MALACKY (16)

Príspevok od používateľa CrakeN »

mam jednoduchsiu vec, nemal som cas na dlhsie skumanie, ale skus si dat prikaz spustit pod XP, a daj si

Kód: Vybrať všetko

ntbackup
skus sa s tym pohrat, myslim, ze by to malo ist ... :wink: ak nie, daj vediet ...
Používateľov profilový obrázok
Scorp
Používateľ
Používateľ
Príspevky: 2225
Dátum registrácie: So 09. Apr, 2005, 20:00
Bydlisko: Krankenhaus

Príspevok od používateľa Scorp »

CrakeN napísal:mam jednoduchsiu vec, nemal som cas na dlhsie skumanie, ale skus si dat prikaz spustit pod XP, a daj si

Kód: Vybrať všetko

ntbackup
skus sa s tym pohrat, myslim, ze by to malo ist ... :wink: ak nie, daj vediet ...
myslim, ze to je o inom, ako zaloha db :blind:
ten batch file vyskusam, vdaka
Me like Pentium
Používateľov profilový obrázok
Secret
Nový používateľ
Nový používateľ
Príspevky: 161
Dátum registrácie: Pi 25. Feb, 2005, 20:00

Príspevok od používateľa Secret »

hmm, a nevedeli by ste poradit ako by to slo spravit pod linux. serverom...aby mi zalohy pomenovalo podla casu a datumu...bez akelkolvek kontroly :help:

Návrat na "Programovanie"