พอดีผมมี Server ไว้สำหรับ Database โดยใช้ Mysql เป็นฐานข้อมูล ตอนนี้ได้ทำการ backup file ในแต่ละวันออกมาแล้วเป็น .sql ได้แล้วแต่มองในอนาคตกลัวเปลืองพื้นที่ อยากให้เมื่อได้ไฟล์ .sql ออกแล้ว ใหทำการ zip ไฟล์เลยน่ะครับ ไม่ทราบว่าจะใช้คำสั่งอะไรครับ ผมมีไฟล์ script มาให้ช่วยดูว่า ทำถูกหรือไม่ครับ ผมลองแล้วมันได้แต่ไฟล์ .sql แต่ไม่เป็น zip ให้ครับ
Code
@echo off
for /f "tokens=1-7 delims=:/-, " %%i in ('echo exit^|cmd /q /k"prompt $d $t"') do (
for /f "tokens=2-4 delims=/-,() skip=1" %%a in ('echo.^|date') do (
set dow=%%i
set %%a=%%j
set %%b=%%k
set %%c=%%l
set hh=%%m
set min=%%n
set ss=%%o
)
)
set mysqlpath=C:\MySQL\MySQL Server 5.5
set dbuser=root
set dbpass=P@ss
set dbname=ob
set DATE="d-m-Y"
set file=OB_%dd%-%mm%-%yy%.sql
set path=D:\Backup_DB_OB
echo Running dump for database %dbname% > %path%\%file%
"%mysqlpath%\bin\mysqldump.exe" -u %dbuser% -p%dbpass% --result-file="%path%\%file%" %dbname%
wzzip D:\Backup_DB_OB\%dd%-%mm%-%yy%.zip D:\Backup_DB_OB\%dd%-%mm%-%yy%.sql -mex
echo Done!
ไม่ได้ทำบน linux ครับ ผมทำบน Windows ครับ คือผมมี Server ลง Windows Server 2008R2 ครับใช้ Database เป็น Mysql แล้วตอนนี้ผมทำการ backup database ทุกวันออกเป็น .sql ได้แล้ว แต่ผมห่วงอนาคตมันกินพื้นที่ใน server ไปเรื่อย ๆ เลยอยากให้มัน export เป็น file sql แล้ว ออกมาเป็น zip ให้เลยน่ะครับ