ที่เก็บสำหรับหมวดหมู่ » การสำรองข้อมูล «

วันอาทิตย์, 4 สิงหาคม, 2013 | ผู้เขียน:

ประวัติศาสตร์

มากมีการเปลี่ยนแปลงตั้งแต่ฉันสุดท้ายที่กล่าวถึงของฉัน เซิร์ฟเวอร์ส่วนตัว – จะได้เติบโตขึ้นโดย leaps และขอบเขต (ตอนนี้มี 7TB md RAID6) และเพิ่งได้รับการสร้างขึ้นมาใหม่ด้วย อูบุนตู เซิร์ฟเวอร์.

ซุ้มประตู ก็ไม่เคยผิดพลาด. Arch Linux ได้สอนแล้วฉันมากเกี่ยวกับลินุกซ์ (และจะยังคงทำเช่นนั้นบนเดสก์ทอปอื่น ๆ ของฉัน). แต่ Arch แน่นอนต้องใช้เวลามากขึ้นและให้ความสนใจกว่าที่ฉันต้องการที่จะใช้จ่ายบนเซิร์ฟเวอร์. นึกคิดฉันต้องการที่จะสามารถที่จะลืมเกี่ยวกับเซิร์ฟเวอร์ในขณะที่จนกว่าอีเมล์เตือนความทรงจำพูดว่า “หนอ … มีการปรับปรุงคู่คุณควรดูที่อะไร, เพื่อน”

พื้นที่ไม่ฟรี – และไม่เป็นช่องว่าง

โอกาสที่จะได้ย้ายไปอูบุนตูก็คือค​​วามจริงที่ฉันได้ทำงานออกจาก SATA พอร์ต, พอร์ตที่จำเป็นในการเชื่อมต่อฮาร์ดไดรฟ์ที่เหลือของคอมพิวเตอร์ – อาร์เรย์ RAID ที่ 7TB ใช้มากของพอร์ต! ผมได้รับแม้กระทั่งออกไปของฉัน มาก เก่าฮาร์ดดิสก์ 200GB ในขณะที่มันหยิบขึ้นมาหนึ่งในพอร์ตเหล่านั้น. ผมยังเตือนว่าผู้รับของดิสก์ สมาร์ท การตรวจสอบชี้ให้เห็นว่ามันเป็นที่ไม่น่าเชื่อถือ. เป็นวิธีแก้ปัญหาชั่วคราวจากการขาดพอร์ต SATA, ผมได้อพยพแม้ระบบปฏิบัติการของเซิร์ฟเวอร์เพื่อให้ชุดของสี่ที่ USB sticks ใน md RAID1. บ้า. ฉันรู้ว่า. ผมไม่มีความสุขเกี่ยวกับความเร็ว. ฉันตัดสินใจที่จะออกไปและซื้อใหม่ฮาร์ดไดรฟ์ที่เชื่อถือได้และการขยายตัวการ์ด SATA ที่จะไปกับมัน.

พาร์ทิชันโค้งของเซิร์ฟเวอร์เป็นหลักโดยใช้เก​​ี่ยวกับ 7GB ของดิสก์. อันใหญ่ที่เป็น แลกเปลี่ยน ไฟล์, ข้อมูลที่เก็บไว้ และไฟล์อื่น ๆ เบ็ดเตล็ดหรือไม่จำเป็น. รวมขนาดจริงของ OS, รวมทั้ง /บ้าน โฟลเดอร์, เป็นเพียงประมาณ 2GB. แจ้งเตือนเรื่องนี้ฉันจะมองเข้าไปได้อย่างรวดเร็ว SSD ขับรถ, บางทีอาจจะเป็นความคิดหนึ่งที่มีขนาดเล็กอาจจะไม่ได้มีราคาแพงดังนั้น. มันเปิดออกที่ไดรฟ์ SSD ไม่ถูกที่สุดที่ฉันสามารถหาค่าใช้จ่ายจริง ขึ้น มากกว่าหนึ่งของ SSDs มีขนาดค่อนข้างเล็กเหล่านี้. yay สำหรับฉัน. 🙂

ทางเลือก? Woah?!

ในการเลือกระบบปฏิบัติการ, ผมตัดสินใจแล้วว่าจะไม่โค้ง. ออกจากทุกกระจายที่นิยมอื่น ๆ, ฉันส่วนใหญ่คุ้นเคยกับอูบุนตูและ CentOS. Fedora ก็ยังเป็นไปได้ – แต่ผมไม่ได้พิจารณาอย่างจริงจัง แต่มันสำหรับเซิร์ฟเวอร์. อูบุนตูชนะรอบ.

การตัดสินใจต่อไปฉันได้เพื่อให้ไม่ได้เกิดขึ้นกับผมจน การแพร่หลาย (ตัวช่วยสร้างการติดตั้งอูบุนตู) ถามมันของฉัน: วิธีการตั้งค่า พาร์ทิชัน.

ผมเป็นมือใหม่ในการใช้ SSDs ในลินุกซ์ – ผมตระหนักดีถึงความผิดพลาดของการไม่ใช้พวกเขาอย่างถูกต้อง, ส่วนใหญ่เนื่องจากการความเสี่ยงของการอายุยืนดีถ้าผิด.

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

นี้แล้วปล่อยฉันเพื่อให้ เส้นทางราก 60GB เต็มจาก อินเทล 330 SSD. ผมถือว่าแยก / home แต่มันก็ดูเหมือนเล็ก ๆ น้อย ๆ ไม่มีจุดหมาย, ที่กำหนดวิธีการที่ใช้เล็ก ๆ น้อย ๆ ในอดีต. ครั้งแรกที่ผมตั้งค่าพาร์ทิชันด้วย LVM – สิ่งที่ฉันเพิ่งได้ทำเมื่อใดก็ตามที่ฉันจะตั้งค่ากล่อง Linux (จริงๆ, ให้มีข้ออ้างที่จะไม่ใช้ LVM ไม่ได้). เมื่อมีเพื่อเป็นส่วนหนึ่งที่ฉันจะกำหนดค่าระบบแฟ้ม, ฉันคลิกแบบหล่นลงและเลือกสัญชาตญาณ ext4. แล้วผมสังเกตเห็น btrfs ในรายการเดียวกัน. แขวนบน!!

แต่สิ่งที่?

Btrfs (“เนย EFF-ESS”, “ดีเอฟเอฟ-ESS”, “ผึ้งต้นไม้-เอฟเอฟ-ESS”, หรือสิ่งที่คุณจินตนาการในวัน) เป็นระบบแฟ้มค่อนข้างใหม่ในการพัฒนาเพื่อที่จะนำลินุกซ์’ ความสามารถในการระบบแฟ้มกลับในการติดตามกับปัจจุบันระบบแฟ้มเทคโนโลยี. King-of-the-Hill ที่มีอยู่ระบบแฟ้ม, “ext” (รุ่นปัจจุบันเรียกว่า ext4) เป็นสิ่งที่ดีสวย – แต่มันมีข้อ จำกัด, ติดอยู่ในกระบวนทัศน์เก่า (คิดว่าของแบรนด์ใหม่ F22 Raptor VS. an ผี F4 ด้วยความพยายามที่ครึ่ง Jested ที่อัพเกรดเทียบเท่า) และไม่น่าจะเป็นความสามารถในการแข่งขันเป็นเวลานานมากกับใหม่ filesystems องค์กรเช่น ZFS ของออราเคิล. Btrfs ยังคงมีทางยาวไปและยังคงพิจารณาการทดลอง (ขึ้นอยู่กับคนที่คุณถามและสิ่งที่คุณสมบัติที่คุณต้องการ). หลายคนคิดว่ามันจะเป็นที่มั่นคงสำหรับการใช้งานพื้นฐาน – แต่ก็ไม่มีใครที่จะทำให้การค้ำประกันใด ๆ. และ, แน่นอน, ทุกคนไม่ว่าจะเป็นเพื่อให้การสำรองข้อมูลและการทดสอบ!

Mooooooo

ความแตกต่างพื้นฐานที่สุดระหว่าง ext และ btrfs คือ btrfs เป็น “วัว” หรือ “คัดลอกบนเขียน” ระบบแฟ้ม. ซึ่งหมายความว่าข้อมูลเป็นจริงไม่เคยถูกเขียนทับโดยจงใจ internals ระบบแฟ้มของ. ถ้าคุณเขียนการเปลี่ยนแปลงไปยังแฟ้ม, btrfs จะเขียนการเปลี่ยนแปลงของคุณไปยังตำแหน่งใหม่บนสื่อที่มีอยู่จริงและจะปรับปรุงตัวชี้ภายในเพื่ออ้างไปยังตำแหน่งใหม่. Btrfs ไปอีกขั้นในการที่ผู้ชี้ภายใน (เรียกว่าเมตาดาต้า) เป็น ด้วย วัว. รุ่นเก่าของ ext จะมีข้อมูลที่ถูกเขียนทับเพียง. ext4 จะใช้วารสารเพื่อให้แน่ใจว่าการทุจริตที่จะไม่เกิดขึ้นควรจะปลั๊ก AC กระชากออกในขณะที่ไม่เหมาะสมที่สุด. ผลในวารสารจำนวนใกล้เคียงกันของขั้นตอนที่จำเป็นในการปรับปรุงข้อมูล. กับ SSD, ฮาร์ดแวร์พื้นฐานดำเนินกระบวนการ CoW ที่คล้ายกันไม่ว่าสิ่งที่ระบบแฟ้มที่คุณกำลังใช้ไม่. นี้เป็นเพราะไดรฟ์ SSD จะไม่ได้เขียนทับข้อมูล – พวกเขามีการคัดลอกข้อมูล (กับการเปลี่ยนแปลงของคุณ) ไปยังตำแหน่งใหม่แล้วลบบล็อกเก่าอย่างสิ้นเชิง. การเพิ่มประสิทธิภาพในบริเวณนี้คือ SSD อาจไม่ได้ลบบล็อกเก่าคุณเพียง แต่จดบันทึกเพื่อลบบล็อกในเวลาต่อมาเมื่อสิ่งที่ไม่ยุ่งมาก. ผลลัพธ์ที่ได้คือว่าไดรฟ์ SSD พอดีเป็นอย่างดีกับระบบแฟ้ม CoW และไม่ดำเนินการเช่นเดียวกับ filesystems ไม่ CoW-.

ที่จะทำให้เรื่องที่น่าสนใจ, วัวในระบบแฟ้มได้อย่างง่ายดายไปจับมือกับคุณลักษณะที่เรียกว่าการขจัดข้อมูลซ้ำซ้อน. นี้จะช่วยให้ทั้งสอง (หรือมากกว่า) บล็อกที่เหมือนกันของข้อมูลที่จะเก็บไว้ใช้เพียงสำเนาเดียว, ประหยัดพื้นที่. กับวัว, ถ้าไฟล์ที่มีการแก้ไข deduplicated, คู่แยกจะไม่ได้รับผลกระทบเป็นข้อมูลไฟล์ที่แก้ไขแล้วจะได้รับการเขียนเพื่อป้องกันทางกายภาพที่แตกต่างกัน.

วัวจะทำให้ snapshotting ค่อนข้างง่ายที่จะใช้. เมื่อ snapshot จะทำระบบเพียงบันทึกภาพใหม่ในฐานะที่เป็นความซ้ำซ้อนของข้อมูลทั้งหมดและเมตาดาต้าภายในไดรฟ์. กับวัว, เมื่อมีการเปลี่ยนแปลง, ข้อมูล snapshot ของยังคงอยู่, และมุมมองที่สอดคล้องกับสถานะระบบแฟ้มในเวลา snapshot ได้ทำสามารถรักษา.

เพื่อนใหม่

กับข้างต้นในใจ, โดยเฉพาะอย่างยิ่ง Ubuntu ได้ทำ btrfs ใช้ได้ในฐานะที่ติดตั้งตัวเลือกเวลา, ฉันคิดว่ามันจะเป็นเวลาที่ดีที่ดำน้ำใน btrfs และสำรวจเล็กน้อย. 🙂

ส่วนหนึ่ง 2 เร็ว ๆ นี้ …

หุ้น
วันเสาร์, 21 กุมภาพันธ์, 2009 | ผู้เขียน:

ประเภทเอกสารที่ค่อนข้างใหม่ สำนักงาน 2007 ได้ให้บางปัญหาเว็บโฮสต์เมื่อลูกค้าของพวกเขาต้องการที่จะนำเสนอเอกสารสำหรับการดาวน์โหลด. ส่วนใหญ่มักจะ, เอกสารที่ถูกนำเสนอโดยเว็บเซิร์ฟเวอร์เป็น “text / html” ซึ่งมีการแสดงแล้วเป็นตันของขยะบนหน้าจอผู้ใช้เว็บของ.

วิธีที่ดีที่สุดที่จะแก้ปัญหานี้คือการเพิ่ม ไมม์ ประเภทการตั้งค่าหลักของเซิร์ฟเวอร์. IIS7 สำหรับ Windows แล้วมีชนิดไมม์เหล่านี้ตั้งขึ้นอย่างถูกต้องตามค่าเริ่มต้น. IIS6 และ IIS5 ต้องการชนิดไมม์ที่จะเพิ่ม, เป็นอำนาจของ อาปาเช่ ในการติดตั้งมากกว่า. สำหรับอาปาเช่, นอกจากนี้ยังมีวิธีแก้ปัญหาสำหรับเจ้าของโดเมนที่บุคคลที่จะเพิ่มประเภทละครใบ้ผ่านของ Apache .htaccess ไฟล์.

IIS 6 ชนิดไมม์นอกจากนี้ (ให้ผู้ดูแลระบบเซิร์ฟเวอร์)

ก่อนหน้านี้สามารถทำได้, ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณมีการตั้งค่ายังอนุญาตให้แก้ไข metabase โดยตรง:

  1. ภาระ โปรแกรมจัดการ: เริ่ม -> Rองค์การสหประชาชาติ, “IIS เมื่อ” -> [ตกลง]
  2. คลิกขวา “เซิร์ฟเวอร์” และคลิกที่ “Properties”
  3. ภายใน “บริการข้อมูลทางอินเทอร์เน็ต” แถบ (มักจะมีเพียงแท็บ), ให้แน่ใจว่า “Enสามารถแก้ไข Metabase โดยตรง” มีการตรวจสอบช่องทำเครื่องหมาย.
  4. คลิก [ตกลง]

ให้แน่ใจว่าได้ สำรองการกำหนดค่า IIS ของ (ที่นี่ เพื่อ IIS5) ล่วงหน้า. ฉันจะไม่รับผิดชอบในการดูแลระบบเซิร์ฟเวอร์ของเขาทำลายใด ๆ. ฉันมีเหตุผลที่จะเชื่อว่า อาจ นอกจากนี้ยังทำงานใน IIS5 แต่ฉันมีเหตุผลเพียงเท่าที่จะเชื่อว่ามันก็อาจทำให้จำนวนมากของข้อผิดพลาด. หาก IIS5 / หน้าต่าง 2000 ผู้ดูแลระบบยินดีที่จะทดสอบนี้สำหรับฉัน หลังจากการสำรองข้อมูล กำหนดค่าของคุณโปรดแจ้งให้เราทราบผล.

คัดลอกข้อความต่อไปนี้ลงไฟล์ชื่อ msoff07 addmime.vbs และรันมัน ครั้งหนึ่ง จาก commandline โดยการพิมพ์ cscript msoff07 addmime.vbs- และกด Enter. หากคุณใช้มันมากกว่าหนึ่งครั้ง, ชนิดไมม์จะถูกเพิ่มในแต่ละครั้งและคุณจะมีรายการที่เหมือนกันหลาย ๆ:

'สคริปต์นี้จะเพิ่มสำนักงานที่จำเป็น 2007 ชนิดไมม์ที่จะ IIS 6 เซิร์ฟเวอร์.
'เพื่อใช้สคริปต์นี้, เพียงแค่ดับเบิลคลิกหรือรันจากบรรทัดคำสั่ง.
'ใช้สคริปต์นี้หลายครั้งส่งผลให้รายการหลายรายการใน
'IIS MimeMap ดังนั้นคุณจึงไม่ควรใช้มันมากกว่าหนึ่งครั้ง.
'แก้ไขจาก http://msdn.microsoft.com/en-us/library/ms752346.aspx
 
ไม่ MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
const ADS_PROPERTY_UPDATE = 2 
 
'ตั้งชนิดไมม์ที่จะเพิ่ม
MimeTypesToAddArray = แถว("docm.", "application/vnd.ms-word.document.macroEnabled.12", _
". Docx", "application / vnd.openxmlformats-officedocument.wordpro​​cessingml.document", _
"dotm.", "application/vnd.ms-word.template.macroEnabled.12", _
"dotx.", "application / vnd.openxmlformats-officedocument.wordpro​​cessingml.template", _
"potm.", "application/vnd.ms-powerpoint.template.macroEnabled.12", _
"potx.", "application / vnd.openxmlformats-officedocument.presentationml.template", _
"ppam.", "application/vnd.ms-powerpoint.addin.macroEnabled.12", _
". ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", _
". ppsx", "application / vnd.openxmlformats-officedocument.presentationml.slideshow", _
"pptm.", "application/vnd.ms-powerpoint.presentation.macroEnabled.12", _
". pptx", "application / vnd.openxmlformats-officedocument.presentationml.presentation", _
"sldm.", "application/vnd.ms-powerpoint.slide.macroEnabled.12", _
"sldx.", "application / vnd.openxmlformats-officedocument.presentationml.slide", _
". xlam", "application/vnd.ms-excel.addin.macroEnabled.12", _
"xlsb.", "application/vnd.ms-excel.sheet.binary.macroEnabled.12", _
"xlsm.", "application/vnd.ms-excel.sheet.macroEnabled.12", _
". Xlsx", "application / vnd.openxmlformats-officedocument.spreadsheetml.sheet", _
"xltm.", "application/vnd.ms-excel.template.macroEnabled.12", _
"xltx.", "application / vnd.openxmlformats-officedocument.spreadsheetml.template") 
 
'รับวัตถุ mimemap
ชุด MimeMapObj = GetObject("เรื่องที่://localhost / MimeMap")
 
'โทร AddMimeType คู่ประเภทนามสกุล / MIME ทุก
เพื่อ เคาน์เตอร์ = 0 ไปยัง UBound(MimeTypesToAddArray) ขั้นตอน 2
    AddMimeType MimeTypesToAddArray(เคาน์เตอร์), MimeTypesToAddArray(เคาน์เตอร์+1)
ต่อไป
 
'สร้างวัตถุเชลล์
ชุด WshShell = CreateObject("WScript.Shell")
 
'หยุดและเริ่มบริการการจัดการ
ชุด oExec = WshShell.Exec("w3svc หยุดสุทธิ")
ของ ในขณะที่ oExec.สถานะ = 0
    WScript.การนอนหลับ 100
ห่วง
 
ชุด oExec = WshShell.Exec("w3svc เริ่มต้นสุทธิ")
ของ ในขณะที่ oExec.สถานะ = 0
    WScript.การนอนหลับ 100
ห่วง
 
ชุด oExec = ไม่มีอะไร
 
'สถานะรายงานให้กับผู้ใช้
WScript.เสียงก้อง "Microsoft Office 2007 ประเภทเอกสารไมม์ได้รับการจดทะเบียน"
 
'AddMimeType ย่อย
ย่อย AddMimeType (ext, mtype)
 
    'รับการแมปจากสถานที่ให้บริการ MimeMap.
    MimeMapArray = MimeMapObj.Getex("MimeMap") 
 
    'เพิ่มแผนที่ใหม่.
    ฉัน = UBound(MimeMapArray) + 1
    ReDim รักษา MimeMapArray(ฉัน)
    ชุด MimeMapArray(ฉัน) = CreateObject("MimeMap")
    MimeMapArray(ฉัน).ส่วนต่อขยาย = ext
    MimeMapArray(ฉัน).ประเภท Mime = mtype
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo
 
ปลาย ย่อย

ประเภทนอกจากนี้ Apache ไมม์ (ให้ผู้ดูแลระบบเซิร์ฟเวอร์)

Apache เก็บชนิดไมม์ในแฟ้มที่ตั้งอยู่ตามปกติ $installpath conf / / mime.types. ดู mod_mime เอกสาร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงาน. ลินุกซ์ Arch การติดตั้งชนิดไมม์ที่ /etc / httpd / conf / mime.types และ Parallels Plesk ติดตั้งไว้ใน /usr / local / PSA admin / conf / / mime.types. การกระจายของคุณอาจจะมีในสถานที่อื่น, เพื่อหาของคุณ mime.types โดยการเรียกใช้ไฟล์ ค้นหา mime.types.

เพิ่มบรรทัดต่อไปนี้ไปยังแฟ้ม mime.types ของคุณ:

application/vnd.ms-word.document.macroEnabled.12                          docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document   docx
application/vnd.ms-word.template.macroEnabled.12                          dotm
application/vnd.openxmlformats-officedocument.wordprocessingml.template   dotx
application/vnd.ms-powerpoint.template.macroEnabled.12                    potm
application/vnd.openxmlformats-officedocument.presentationml.template     potx
application/vnd.ms-powerpoint.addin.macroEnabled.12                       ppam
application/vnd.ms-powerpoint.slideshow.macroEnabled.12                   ppsm
application/vnd.openxmlformats-officedocument.presentationml.slideshow    ppsx
application/vnd.ms-powerpoint.presentation.macroEnabled.12                pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.ms-powerpoint.slide.macroEnabled.12                       sldm
application/vnd.openxmlformats-officedocument.presentationml.slide        sldx
application/vnd.ms-excel.addin.macroEnabled.12                            xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12                     xlsb
application/vnd.ms-excel.sheet.macroEnabled.12                            xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet         xlsx
application/vnd.ms-excel.template.macroEnabled.12                         xltm
application/vnd.openxmlformats-officedocument.spreadsheetml.template      xltx

ประเภทนอกจากนี้ Apache ไมม์ (สำหรับเจ้าของโดเมนที่มีอย่างน้อย FTP การเข้าถึง – โดยใช้ไฟล์ htaccess.)

เพิ่มข้อความต่อไปนี้ไปยังโดเมนของคุณ .htaccess ไฟล์, มากที่สุดใน httpdocs / ไดเรกทอรี

AddType application/vnd.ms-word.document.macroEnabled.12 docm
AddType application / vnd.openxmlformats-officedocument.wordpro​​cessingml.document docx
AddType application/vnd.ms-word.template.macroEnabled.12 dotm
AddType application / vnd.openxmlformats-officedocument.wordpro​​cessingml.template dotx
AddType potm application/vnd.ms-powerpoint.template.macroEnabled.12
AddType application / vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application / vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application / vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm
AddType application / vnd.openxmlformats-officedocument.presentationml.slide sldx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application / vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application / vnd.openxmlformats-officedocument.spreadsheetml.template xltx
หุ้น