สคริปต์สำรองฐานข้อมูลพัฒนาและปรับแต่ง

สคริปต์ Bash หรือ Python ที่สำรองฐานข้อมูล MySQL หรือ PostgreSQL ของคุณ และเก็บเฉพาะสำเนาที่คุณเลือก

ปกติเสร็จภายใน 15 นาทีรวมการแก้ไขตรวจสอบคุณภาพ
แพ็กเกจ
การคุ้มครองการชำระเงินรายละเอียด
  • การแก้ไขภายในแพ็กเกจไม่มีค่าใช้จ่าย
  • หากคุณไม่ตอบกลับภายใน 3 วันหลังส่งมอบ งานจะถูกยอมรับโดยอัตโนมัติ

เงินจะถูกพักไว้เมื่อคุณชำระ และจะถูกโอนก็ต่อเมื่อคุณยอมรับงานแล้วเท่านั้น

สคริปต์ Bash หรือ Python ที่สำรองฐานข้อมูล MySQL หรือ PostgreSQL ของคุณ และเก็บเฉพาะสำเนาที่คุณเลือก

ตัวอย่างผลงาน

ตัวอย่างของแพ็กเกจสแตนดาร์ด

รวมไฟล์ยอดขายรายเดือนของ 9 ร้านเป็นรายงาน Excel ไฟล์เดียว

วิธีรัน

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  โฟลเดอร์: sales/2026-10 พบ 9 ไฟล์
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 แถว
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 แถว
2026-11-02 09:14:04 WARN  shop-07.csv: ข้าม 3 แถวที่ไม่มีราคา (บรรทัด 88, 412, 913)
2026-11-02 09:14:05 INFO  เสร็จแล้ว: 10,412 แถว -> report-2026-10.xlsx (ชีต “ยอดขาย” และ “ยอดรวม”)

ตั้งค่าในไฟล์ ไม่ต้องแก้โค้ด

ชื่อคอลัมน์ของแต่ละสาขาอยู่ใน settings.ini ดังนั้นสาขาใหม่หรือคอลัมน์ที่เปลี่ยนชื่อก็แค่เพิ่มหนึ่งบรรทัดในไฟล์นั้น:

[columns]
date = วันที่, วันที่ขาย, วัน
product = สินค้า, รายการ, ชื่อสินค้า
quantity = จำนวน, ปริมาณ, ชิ้น
price = ราคา, ราคาต่อหน่วย

ตัวอย่างโค้ดบางส่วน

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """อ่านไฟล์ของสาขาหนึ่งและตั้งชื่อคอลัมน์ให้ตรงกับรายงาน"""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: ไม่พบคอลัมน์สำหรับ “{name}” (ค้นหาจาก {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

ไฟล์ที่ส่งมอบ: ไฟล์ ZIP ที่มี merge_sales.py (310 บรรทัด) settings.ini requirements.txt และ README อธิบายการติดตั้ง Python การรันสคริปต์ และความหมายของแต่ละข้อความในล็อก ลูกค้ารันสคริปต์บนคอมพิวเตอร์ของตัวเอง

ลูกค้า: ร้านเครื่องเขียนเครือเล็ก ๆ 9 สาขา แต่ละสาขาส่งยอดขายของเดือนมาเป็นไฟล์ CSV หรือ Excel โดยชื่อคอลัมน์ต่างกันเล็กน้อย งาน: สคริปต์ตัวเดียวที่อ่านทุกไฟล์ในโฟลเดอร์ ปรับคอลัมน์ให้เป็นรูปแบบเดียวกัน แล้วเขียนรายงาน Excel ไฟล์เดียวที่มียอดขายทั้งหมดและชีตสรุปยอดรวมแยกตามสาขา

ลูกค้าและข้อมูลทั้งหมดเป็นเรื่องสมมติ

เกี่ยวกับบริการนี้

ฐานข้อมูลที่ไม่มีการสำรองสม่ำเสมอ อาจสูญเสียคำสั่งซื้อ โพสต์ หรือข้อมูลลูกค้าได้จากการอัปเดตที่ผิดพลาดเพียงครั้งเดียวหรือดิสก์เต็ม สคริปต์นี้เขียนด้วย Bash หรือ Python ตามที่เหมาะกับเซิร์ฟเวอร์ของคุณ ทำการ dump ฐานข้อมูล MySQL, MariaDB หรือ PostgreSQL ทั้งหมดด้วยเครื่องมือที่มาพร้อมกัน (mysqldump หรือ pg_dump) บีบอัด ตั้งชื่อตามวันที่ และเก็บเฉพาะสำเนาตามกฎของคุณ เช่น รายวัน 7 ชุด รายสัปดาห์ 4 ชุด และรายเดือน 6 ชุด สำเนาที่เก่ากว่าจะถูกลบตามกฎเหล่านั้นเท่านั้น รหัสผ่านฐานข้อมูลอยู่ในไฟล์ตัวเลือกมาตรฐานที่คุณกรอกบนเซิร์ฟเวอร์ของคุณ (.my.cnf หรือ .pgpass) ไม่เคยอยู่ในโค้ด คุณติดตั้งและรันบนเซิร์ฟเวอร์ของคุณเอง เราไม่เข้าสู่ระบบเซิร์ฟเวอร์ของคุณ ลองกับสำเนาทดสอบก่อน และกู้คืนข้อมูลสำรองหนึ่งชุดลงฐานข้อมูลทดสอบเพื่อให้แน่ใจว่าใช้ได้

สิ่งที่รวมอยู่ในบริการ

  • สิ่งที่คุณจะได้รับไฟล์ ZIP ที่มีสคริปต์, README พร้อมคำแนะนำทีละขั้นตอน และตั้งแต่สแตนดาร์ดขึ้นไป มีไฟล์ตั้งค่าพร้อมฐานข้อมูล โฟลเดอร์ และจำนวนสำเนาที่จะเก็บ โค้ดยังแสดงบนหน้าคำสั่งซื้อด้วย
  • เครื่องมือมาตรฐานmysqldump หรือ pg_dump ไม่ต้องติดตั้งอะไรแปลก ๆ
  • หมุนเวียนสำเนาตามกฎของคุณสำเนาเก่าถูกลบตามที่คุณตั้งเท่านั้น
  • รหัสผ่านไม่อยู่ในโค้ดอยู่ใน .my.cnf หรือ .pgpass บนเซิร์ฟเวอร์ของคุณ
  • รู้ทันเมื่อล้มเหลวตั้งแต่สแตนดาร์ดขึ้นไป dump ที่ล้มเหลวหรือว่างเปล่าจะถูกบันทึกในล็อกและไม่นับเป็นสำเนา
  • โค้ดที่อ่านง่ายมีคอมเมนต์ เพิ่มฐานข้อมูลภายหลังได้ง่าย

วิธีการทำงาน

  1. 1
    งานคุณอธิบายเซิร์ฟเวอร์ ฐานข้อมูล และจำนวนสำเนาที่จะเก็บ
  2. 2
    โค้ดเราเขียนสคริปต์และคู่มือการติดตั้ง
  3. 3
    ทดลองใช้คุณรันกับสำเนาทดสอบและกู้คืนข้อมูลสำรองหนึ่งชุดลงฐานข้อมูลทดสอบ
  4. 4
    การแก้ไขคุณขอแก้ไขได้ภายในแพ็กเกจและส่งข้อความแจ้งข้อผิดพลาดมาหากมี

สิ่งที่เราต้องการจากคุณ

ฐานข้อมูล (MySQL, MariaDB หรือ PostgreSQL) และเวอร์ชัน ระบบปฏิบัติการของเซิร์ฟเวอร์ (เช่น Ubuntu 22.04) และคุณติดตั้งแพ็กเกจบนเซิร์ฟเวอร์ได้หรือไม่ ขนาดของฐานข้อมูล ควรเก็บสำเนาไว้ที่ใดและมีพื้นที่เท่าไร กฎการหมุนเวียนของคุณ: เก็บสำเนารายวัน รายสัปดาห์ และรายเดือนกี่ชุด สำหรับพรีเมียม ที่เก็บสำเนาแห่งที่สองและที่อยู่อีเมลสำหรับแจ้งเมื่อล้มเหลว อย่าส่งรหัสผ่านหรือสิทธิ์เข้าถึงเซิร์ฟเวอร์ให้เรา

เราจะถามคุณว่า:

  • ฐานข้อมูลอะไร และมีขนาดเท่าไร
  • อยู่บนเซิร์ฟเวอร์อะไร
  • ต้องเก็บสำเนากี่ชุด
  • ควรเก็บสำเนาไว้ที่ไหน
  • Bash หรือ Python

เปรียบเทียบแพ็กเกจ

แพ็กเกจเบสิกฐานข้อมูลเดียว฿544สแตนดาร์ดการสำรองพร้อมไฟล์ตั้งค่า฿1,122พรีเมียมเครื่องมือสำรองข้อมูล฿2,278
กำหนดส่ง1 วัน2 วัน3 วัน
การแก้ไข123
โค้ดไม่เกิน 150 บรรทัดไม่เกิน 400 บรรทัดไม่เกิน 1,000 บรรทัด
ไฟล์โค้ด1ไม่เกิน 3ไม่เกิน 8
ไฟล์ตั้งค่าไม่มีมีมี
ข้อความแจ้งข้อผิดพลาดที่ชัดเจนและล็อกไม่มีมีมี
ตัวเลือกการรันและคู่มือการตั้งเวลารันไม่มีไม่มีมี
คู่มือการติดตั้งและการรัน (README)มีมีมี
ภาษาBash หรือ PythonBash หรือ PythonBash หรือ Python
สั่งซื้อ เบสิกสั่งซื้อ สแตนดาร์ดสั่งซื้อ พรีเมียม

การคุ้มครองการชำระเงิน

คุณชำระเงินเมื่อสั่งซื้อ แต่เงินจะถูกโอนเฉพาะสำหรับงานที่ยอมรับแล้วเท่านั้น

  • ราคาคงที่ราคาแพ็กเกจจะไม่เปลี่ยนแปลงหลังจากคุณชำระเงิน
  • เงินถูกพักไว้เมื่อคุณชำระเงิน ยอดเงินจะถูกพักไว้เท่านั้น และจะถูกโอนออกเมื่อคุณยอมรับงานแล้ว
  • ตรวจสอบก่อนส่งมอบผลงานทุกชิ้นผ่านการตรวจสอบคุณภาพก่อนถึงมือคุณ และคุณจะเห็นผลงานในหน้าคำสั่งซื้อก่อนยอมรับงาน
  • แก้ไขฟรีขอแก้ไขภายในขอบเขตรายละเอียดงานของคุณได้ตามจำนวนครั้งที่แพ็กเกจกำหนด
  • ยอมรับงานหลัง 3 วันหากภายใน 3 วันหลังส่งมอบ คุณไม่ได้ยอมรับงานหรือขอแก้ไข งานจะถูกยอมรับโดยอัตโนมัติ หากคุณเขียนข้อความในแชทคำสั่งซื้อหลังส่งมอบ คำสั่งซื้อจะรอไว้ก่อน เมื่อเราตอบกลับแล้ว เราอาจเริ่มนับ 3 วันใหม่ และจะแจ้งให้ทราบในแชท
  • ทำใหม่หรือคืนเงินเต็มจำนวนหากผลงานไม่ตรงตามรายละเอียดงานและการแก้ไขยังไม่ช่วย หรืองานใช้เวลาเกินกำหนดส่งมากกว่าสองเท่า ให้เขียนแจ้งในแชทคำสั่งซื้อ เราจะทำงานใหม่หรือคืนเงินให้เต็มจำนวน
วิธีการทำงาน →

คำถามและคำตอบ

สคริปต์จะลบข้อมูลสำรองเก่าไหม

เฉพาะตามกฎที่คุณให้ เช่น เก็บสำเนารายวัน 7 ชุดและรายสัปดาห์ 4 ชุด และเฉพาะในโฟลเดอร์สำรองที่สคริปต์เขียนลงไปเท่านั้น จนกว่าคุณจะตั้งกฎ สคริปต์จะเก็บไว้ทั้งหมด

เก็บสำเนาไว้นอกเซิร์ฟเวอร์ได้ไหม

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

ระหว่างรัน เว็บจะถูกล็อกไหม

สำหรับตาราง InnoDB ใน MySQL และสำหรับ PostgreSQL การ dump ทำได้โดยไม่ต้องหยุดเว็บ ฐานข้อมูลที่ใหญ่มากยังอาจทำให้เว็บช้าลง จึงควรรันในช่วงที่คนใช้น้อย

คุณจะตั้งค่าบนเซิร์ฟเวอร์ให้ฉันไหม

ไม่ เราไม่เข้าสู่ระบบเซิร์ฟเวอร์ของคุณ README แสดงทุกขั้นตอน ตั้งแต่คัดลอกสคริปต์ไปจนถึงเพิ่มลงใน cron (พรีเมียม)

ไม่พบคำตอบใช่ไหม

แพ็กเกจ