Thaiadmin

ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ pongreddevil

  • ****
  • 53
  • 0
  • TH@min Membership
พอดีผมได้มี Server ไว้สำหรับ Database โดยใช้ Mysql เป็นฐานข้อมูล ตอนนี้ได้ทำการ backup file ในแต่ละวันออกมาแล้วเป็น .sql แต่มองในอนาคตกลัวเปลืองพื้นที่ อยากให้เมื่อได้ไฟล์ .sql ออกแล้ว ใหทำการ zip ไฟล์เลยน่ะครับ ไม่ทราบว่าจะใช้คำสั่งอะไรครับ ผมมีไฟล์ script มาให้ช่วยดูว่า ทำถูกหรือไม่ครับ ผมลองแล้วมันได้แต่ไฟล์ .sql แต่ไม่เป็น zip ให้ครับ

@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%
[bgcolor=#FFFF00]wzzip D:\Backup_DB_OB\%dd%-%mm%-%yy%.zip D:\Backup_DB_OB\%dd%-%mm%-%yy%.sql -mex[/bgcolor]
echo Done!

รบกวนท่านผู้รู้ ช่วยแนะนำด้วยนะครับ ตรงบรรทัดที่ hilight สีเหลืองไว้น่ะครับ ว่าคำสั่งถูกต้องหรือไม่ครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ ~ RoNiN ~

  • *****
  • 553
  • 7
  • เพศ: ชาย
  • ทำดีแต่อย่าเด่นจะเป็นภัย
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #1 เมื่อ: 25 มีนาคม 2014, 11:42:19 »
ส่วนคำสั่ง zip อาจจะต้อง add path ของ winzip เข้าไปใน environment variable ก่อนนะครับ
เพราะถ้าเรียกตรงๆน่าจะหา wzzip ไม่เจอ

Hello Thailand

ออฟไลน์ pongreddevil

  • ****
  • 53
  • 0
  • TH@min Membership
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #2 เมื่อ: 25 มีนาคม 2014, 15:46:15 »
ลองแอดแล้วครับ แต่ก็ยังไม่เปลี่ยนจาก .sql เป็น .zip เลยครับ ผมทำใน windows นะครับไม่ใช่ linux
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ ~ RoNiN ~

  • *****
  • 553
  • 7
  • เพศ: ชาย
  • ทำดีแต่อย่าเด่นจะเป็นภัย
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #3 เมื่อ: 25 มีนาคม 2014, 16:11:17 »
windows นี่แหล่ะครับ ไม่เกี่ยวกับ linux  :P

แล้วไฟล์ sql ที่ได้ หน้าตาของชื่อไฟล์เป็นยังไงครับ format ตรงมั้ย

ลองเข้าหน้าต่าง cmd แล้ว รันคำสั่ง wzzip แล้วดู error นะครับ

ตามตัวอย่างผมใช้ 7zip นะครับ add path แล้วเพื่อเวลาเรียกใช้งาน .exe มันจะเข้าไปหาตาม path ที่เรากำหนดไว้
โค๊ด: [Select]
C:\Windows\System32>7z

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -ssw: compress shared files
  -t{Type}: Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -v{Size}[b|k|m|g]: Create volumes
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries
« แก้ไขครั้งสุดท้าย: 25 มีนาคม 2014, 16:17:01 โดย ~ RoNiN ~ »
Hello Thailand

ออฟไลน์ pongreddevil

  • ****
  • 53
  • 0
  • TH@min Membership
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #4 เมื่อ: 25 มีนาคม 2014, 17:08:18 »
คุณ Ronin ครับ

        ผมแอด path เพิ่มใน environment แล้วครับ ตอนนี้ลองรันคำสั่ง wzzip ได้ผลดังไฟล์แนบครับ

       ไฟล์ที่ได้เป็น OB_24-03-2014.sql ครับ ผมอยากให้มันแปลงจากไฟล์ .sql เป็น .zip ให้เลยน่ะครับ
เมื่อ: 25 มีนาคม 2014, 16:56:35
คุณ Ronin ผมลอง run batch file ดู ได้ผลตาม ไฟล์แนบครับ เหมือนกับว่าหาไฟล์ไม่เจอ เลย zip ไม่ได้ ผมไม่รู้ว่ามันต้องมีการเขียนคำสั่งให้ลบไฟล์อะไรก่อนหรือเปล่าครับ เพื่อให้ได้ไฟล์ zip ออกมาแทนน่ะครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ ~ RoNiN ~

  • *****
  • 553
  • 7
  • เพศ: ชาย
  • ทำดีแต่อย่าเด่นจะเป็นภัย
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #5 เมื่อ: 25 มีนาคม 2014, 21:27:47 »
ลองคำสั่งนี้ดูนะครับ

wzzip -a -mex D:\Backup_DB_OB\%dd%-%mm%-%yy%.zip D:\Backup_DB_OB\%dd%-%mm%-%yy%.sql

ออปชั่น -m จะลบไฟล์หลังจากที่ zip เสร็จแล้วนะครับ
Hello Thailand

ออฟไลน์ pongreddevil

  • ****
  • 53
  • 0
  • TH@min Membership
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #6 เมื่อ: 26 มีนาคม 2014, 10:39:02 »
ขอบคุณครับ คุณ Ronin เดี๋ยวลองทำดูครับ  ;D
เมื่อ: 26 มีนาคม 2014, 10:12:11
คุณ Ronin ครับ เป็นไปได้ไหมครับว่าสั่งให้เคลียร์ใน recycle bin ด้วยน่ะครับ พอจะมีคำสั่งที่ให้ไปลบที่ Recycle Bin ไหมครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ ~ RoNiN ~

  • *****
  • 553
  • 7
  • เพศ: ชาย
  • ทำดีแต่อย่าเด่นจะเป็นภัย
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #7 เมื่อ: 26 มีนาคม 2014, 12:39:18 »
ปกติลบไฟล์บน command-line จะไม่มีไฟล์ใน recycle bin นะครับ :P
ส่วนของ wzzip ออปชั่น -m ถ้ามัน move file ไปที่ recycle bin แนะนำให้เอา -m ออกแล้วสั่งลบไฟล์ในสคริปต์แทนนะครับ

โค๊ด: [Select]
wzzip -a -ex D:\Backup_DB_OB\%dd%-%mm%-%yy%.zip D:\Backup_DB_OB\%dd%-%mm%-%yy%.sql
del /f D:\Backup_DB_OB\%dd%-%mm%-%yy%.sql
Hello Thailand

ออฟไลน์ pongreddevil

  • ****
  • 53
  • 0
  • TH@min Membership
Re: ต้องการให้ไฟล์ .sql ที่ export ออกมาเป็น zip file
« ตอบกลับ #8 เมื่อ: 26 มีนาคม 2014, 14:48:41 »
ขอบพระคุณมากครับ คุณ Ronin
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย