คัดลอกไปยังดิสก์ Yandex โดยอัตโนมัติ สำรองข้อมูลไปยัง Yandex.Disk ด้วย Handy Backup ใหม่ ฟังก์ชันแอปเดสก์ท็อปติดตั้งอยู่ใน Windows

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

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

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

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

ก่อนอื่นเกี่ยวกับงานของการซิงโครไนซ์ ในทางเทคนิคประกอบด้วยการมีไฟล์ชุดเดียวกันในโฟลเดอร์ Yandex.Disk บนคอมพิวเตอร์ของผู้ใช้และในระบบคลาวด์ นั่นคือการดำเนินการของผู้ใช้เช่นการเปลี่ยนชื่อลบคัดลอกเพิ่มและแก้ไขไฟล์ควรซิงโครไนซ์กับคลาวด์โดยอัตโนมัติ

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

ผู้ดูแลเว็บทุกคนควรมีการสำรองข้อมูลหลาย ๆ เว็บไซต์ในกรณีที่เกิดข้อผิดพลาด ดังนั้นคุณต้องทำ การสำรองข้อมูล ไฟล์ทั้งหมดรวมทั้งฐานข้อมูลเพื่อให้มีสำเนาไซต์ของคุณอย่างสมบูรณ์ แล้วสถานที่ที่ดีที่สุดในการเก็บสำเนานี้คืออะไร?

ทำไมมันไม่ง่ายอย่างที่คิดในตอนแรก?

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

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

Disk เป็นบริการคลาวด์ที่ได้รับความนิยมโดยเฉพาะในหมู่ผู้ใช้รัสเซีย








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

มีหลายครั้งที่ไฟล์ในคอมพิวเตอร์ของผู้ใช้ไม่สามารถตั้งชื่อให้เหมือนกับที่เรียกในระบบคลาวด์ได้ สิ่งนี้สามารถเกิดขึ้นได้เมื่อชื่อมีอักขระที่ไม่สามารถใช้โดยระบบไฟล์ภายในเครื่องหรือเมื่อผู้ใช้ได้รับเชิญให้เข้าร่วมโฟลเดอร์ที่แชร์และมีโฟลเดอร์ของตัวเองที่มีชื่อนั้น ในกรณีเช่นนี้เราต้องใช้นามแฝงในเครื่องและติดตามความสัมพันธ์กับวัตถุในระบบคลาวด์

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

การสำรองข้อมูลตามกำหนดเวลา

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

อัลกอริทึมรุ่นก่อนหน้า

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

ในอัลกอริทึมเวอร์ชันนี้เราใช้โครงสร้างหลักสามแบบ ได้แก่ local (Local Index), cloud (Remote Index) และการซิงโครไนซ์ล่าสุด (Stable Index) นอกจากนี้เพื่อป้องกันการสร้างใหม่ของการดำเนินการซิงโครไนซ์ที่อยู่ในคิวแล้วจึงมีการใช้ทรีเสริมอีกสองรายการ: คาดว่าจะอยู่ในระบบและระบบคลาวด์ที่คาดไว้ (ดัชนีระยะไกลที่คาดไว้และดัชนีในเครื่องที่คาดไว้) ต้นไม้เสริมเหล่านี้จัดเก็บสถานะที่คาดหวังของท้องถิ่น ระบบไฟล์ และระบบคลาวด์หลังจากเสร็จสิ้นการดำเนินการซิงโครไนซ์ทั้งหมดที่อยู่ในคิวแล้ว

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

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



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

ทำไมเราต้องคิดอัลกอริทึมใหม่

ปัญหาหลักของอัลกอริธึมการเปรียบเทียบแบบทรีคือการใช้หน่วยความจำจำนวนมากและจำเป็นต้องเปรียบเทียบต้นไม้ทั้งหมดแม้จะมีการเปลี่ยนแปลงเพียงเล็กน้อยก็ตามซึ่งนำไปสู่การโหลดโปรเซสเซอร์จำนวนมาก ในระหว่างการประมวลผลการเปลี่ยนแปลงของไฟล์แม้แต่ไฟล์เดียวการใช้ RAM เพิ่มขึ้นประมาณ 35% สมมติว่าผู้ใช้มีไฟล์ 20,000 ไฟล์ จากนั้นด้วยการเปลี่ยนชื่อไฟล์ 10KB เพียงไฟล์เดียวการใช้หน่วยความจำก็เพิ่มขึ้นทันที - จาก 116MB เป็น 167MB

นอกจากนี้เรายังต้องการเพิ่มจำนวนไฟล์สูงสุดที่ผู้ใช้สามารถใช้งานได้โดยไม่มีปัญหา อาจมีไฟล์หลายสิบหรือหลายแสนไฟล์ตัวอย่างเช่นช่างภาพที่เก็บผลลัพธ์ของเซสชันภาพถ่ายใน Yandex.Disk งานนี้กลายเป็นเรื่องเร่งด่วนเป็นพิเศษเมื่อผู้คนมีโอกาสซื้อพื้นที่เพิ่มเติมบน Yandex.Disk

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

เพื่อสร้างอิมเมจระบบ

คุณยังสามารถพิจารณาเข้ารหัสข้อมูลจากข้อมูลสำรอง

อิมเมจระบบประกอบด้วยข้อมูลทั้งหมดเกี่ยวกับคอมพิวเตอร์ในสถานะเฉพาะ

รักษาอิมเมจระบบเวอร์ชันต่างๆ คุณสามารถจัดเก็บอิมเมจระบบได้หลายเวอร์ชัน ในฮาร์ดไดรฟ์ภายในและภายนอกอิมเมจระบบเก่าจะถูกลบเมื่อพื้นที่ว่างบนดิสก์หมด ลบอิมเมจระบบเก่าเพื่อประหยัดเนื้อที่ดิสก์

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

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

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

สร้างจุดคืนค่า

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

อัลกอริทึมใหม่

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


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

กู้คืนข้อมูลสำรองที่ทำในคอมพิวเตอร์เครื่องอื่น

ค้นหาไฟล์ที่กู้คืนจากการสำรองข้อมูลบนคอมพิวเตอร์เครื่องอื่น

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


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

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

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


เครื่องเสมือนและที่เก็บข้อมูล

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

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


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

การปรับปรุงอื่น ๆ

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

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

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

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

เบอร์

การซิงโครไนซ์ไฟล์ 20,000 ไฟล์ 10Kb ที่ไม่ซ้ำกัน

การคำนวณไดเจสต์ของไฟล์ 20,000 ไฟล์ 10kb แต่ละไฟล์ (การจัดทำดัชนี)

เรียกใช้จากไฟล์ที่ซิงค์ 10Kb 20,000 ไฟล์

อัปโหลด 1Gb. การเชื่อมต่อ Wi-Fi 10 Mbps
เวลาวินาที

เกิดอะไรขึ้น

ตัวอย่างแสดงให้เห็นว่า เวอร์ชันใหม่ ซอฟต์แวร์ Yandex.Disk ใช้ RAM น้อยลงประมาณ 3 เท่าและโหลด CPU น้อยลงประมาณ 2 เท่า การจัดการกับการเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ไม่ได้เพิ่มจำนวนหน่วยความจำที่ใช้

ผลจากการเปลี่ยนแปลงดังกล่าวทำให้จำนวนไฟล์ที่โปรแกรมสามารถจัดการได้เพิ่มขึ้นอย่างมาก เวอร์ชัน Windows มี 300,000 ไฟล์และเวอร์ชัน Mac OS X มี 900,000 ไฟล์

ตัวอย่างการสำรองข้อมูลซิงค์และกู้คืน

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

การสำรองข้อมูลไปยังบริการคลาวด์

ภาพสำคัญของการแลกเปลี่ยนส่วนตัวของเขาถูกลบโดยไม่ได้ตั้งใจ

ในสองบทความก่อนหน้านี้ I ตั้งค่า LAMP บน VPS และ เมา nginx กับมัน... สิ่งต่อไปที่คุณเริ่มคิดทันทีคือทำอย่างไรที่จะไม่สูญเสียมันไปทั้งหมด นั่นคือเรากำลังพูดถึงการสำรองข้อมูล

มาคุยกันตามลำดับ: อะไรที่ไหนและจะสำรองอย่างไร

อะไร

  1. การกำหนดค่าทั้งหมดที่คุณแก้ไขอย่างระมัดระวัง ( / ฯลฯ)
  2. ไฟล์ผู้ใช้ทั้งหมด ( / บ้าน, / ราก)
  3. ฐานข้อมูล (เราหมายถึง MySQL)

ที่ไหน

วันนี้ทุกอย่างเข้าสู่ "เมฆ" ฉันต้องการสำรองข้อมูลไว้ที่นั่นด้วย

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

ยานเดกซ์ดิสก์กลายเป็นตัวเลือกที่น่าสนใจมากสำหรับการจัดเก็บข้อมูลสำรอง มีข้อดีหลายประการ:

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

อย่างไร

นี่คือใบสั่งยา เข้าสู่ระบบในฐานะรูทและสร้างสคริปต์:

คลิกเพิ่มการสำรองข้อมูลเพื่อเปิดตัวช่วยสร้างการสำรองข้อมูล เลือก "สำรองข้อมูล" ... ทำตามคำแนะนำในตัวช่วยสร้างการสำรองข้อมูลเพื่อดำเนินการสำรองข้อมูลประเภทใดประเภทหนึ่งต่อไปนี้ ในส่วนต่อไปนี้ ดูตารางด้านล่าง

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

สำรอง Chmod 0700 ตอนนี้

ข้อความสคริปต์จะเป็นดังนี้:

#! / bin / bash SERVER_NAME \u003d "server1" TIME \u003d `date +% Y-% b` FS_FILE \u003d / tmp / $ SERVER_NAME-fs. $ TIME.tar.gz MYSQL_FILE \u003d / tmp / $ SERVER_NAME-mysql. $ TIME .sql.gz # ระบบไฟล์เก็บถาวร tar -czf $ FS_FILE / etc / root / home # ฐานข้อมูลฐานข้อมูล mysqldump -u root --password \u003d qwerty - all-databases | gzip\u003e $ MYSQL_FILE # การอัปโหลดไปยัง cloud curl - ผู้ใช้ USER: PASSWORD -T "($ FS_FILE, $ MYSQL_FILE)" https://webdav.yandex.ru/ # Cleanup ยกเลิกการลิงก์ $ FS_FILE ยกเลิกการลิงก์ $ MYSQL_FILE

ในครั้งแรกจะเป็นการดีกว่าที่จะเรียกใช้คำสั่งทีละคำสั่งโดยแสดงความคิดเห็นเกี่ยวกับส่วนที่เหลือ หากทุกอย่างเป็นไปด้วยดีที่เก็บถาวรสองรายการจะปรากฏใน Yandex.Disk ของคุณ

ตอนนี้สำหรับระบบอัตโนมัติคุณต้องเพิ่ม symlink ไปที่ backup-now.sh ใน /etc/cron.daily (หรือ /etc/cron.weekly) โปรดทราบว่าในบางระบบ (โดยเฉพาะบน Debian) คุณต้องลบส่วนขยาย () ออกจาก symlink

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

และถ้าคุณไม่ต้องการ Yandex.Disk?

เห็นได้ชัดว่าคุณสามารถอัปโหลดไปยังทรัพยากรใด ๆ ที่รองรับ WebDAV มีบริการที่เปิดให้ WebDAV เข้าถึง Dropbox หรือ Google Drive (เช่น Otixo, SMEStorage, DropDAV) มีข่าวลือว่า SkyDrive ทำงานผ่าน WebDAV และยังมีความหวังว่าการสนับสนุนจะปรากฏใน Dropbox นอกกรอบ

ป.ล. การเข้ารหัสไฟล์เก็บถาวรด้วย GnuPG

เนื่องจากข้อมูลสำรองมีข้อมูลลับจำนวนมาก (รหัสผ่านข้อมูล) จึงควรเข้ารหัส:

GPG_COMMAND \u003d "gpg -c -z 0 - ชุด - รหัสผ่าน XXXXXXXXXX" FS_FILE \u003d / tmp / $ SERVER_NAME-fs. $ TIME.tar.gz.gpg MYSQL_FILE \u003d / tmp / $ SERVER_NAME-mysql. $ TIME.sql. gz.gpg # ระบบไฟล์การเก็บถาวร tar -cz / etc / root / home | $ GPG_COMMAND\u003e $ FS_FILE # การเก็บฐานข้อมูลฐานข้อมูล mysqldump -u root - รหัสผ่าน \u003d qwerty - ฐานข้อมูลทั้งหมด | gzip | $ GPG_COMMAND\u003e $ MYSQL_FILE ... ...