รายการฉันสามารถยกเว้นการสำรองข้อมูลได้อย่างปลอดภัย


10

ฉันวางแผนกลยุทธ์การสำรองข้อมูลบนพื้นฐานของrsnapshot

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

# System:
exclude /dev/*
exclude /proc/*
exclude /sys/*
exclude /tmp/*
exclude /run/*
exclude /mnt/*
exclude /media/*
exclude /lost+found

# Application:
exclude /*.pyc
exclude /*.pyo

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

คำตอบ:


11

ก่อนอื่นคุณควรอ่านเพิ่มเล็กน้อยเกี่ยวกับไวยากรณ์รวม / แยกของ rsync ฉันรู้สึกว่าสิ่งที่คุณต้องการจะทำได้ดีกว่าการใช้**globs มากกว่า*globs ( **ขยายเป็นจำนวนรายการใด ๆ ในขณะที่*ขยายเฉพาะรายการเดียวอาจจับคู่หลายรายการไดเรกทอรีรายละเอียดอยู่man rsyncภายใต้กฎการรวม / ยกเว้นรูปแบบ )

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

ดังนั้น rsnapshot.conf ของฉันจึงระบุ (ด้วยแท็บเพื่อทำให้โปรแกรมแยกวิเคราะห์ไฟล์การกำหนดค่าของ rsnapshot มีความสุข):

interval backup NNN # pick your poison
one_fs 0
exclude /backup/**
exclude /dev/**
exclude /proc/**
exclude /run/**
exclude /sys/**
exclude /tmp/**
backup / ./

และน้อยมาก ใช่มันหมายความว่าฉันอาจคัดลอกมากกว่าสิ่งที่จำเป็นอย่างเคร่งครัด แต่ก็รับประกันได้ว่าสิ่งใดก็ตามที่ไม่ได้มีไว้สำหรับการลอกเลียนแบบ ephermal เนื่องจาก rsnapshot ที่ใช้พฤติกรรม hardlink-to-deduplicate ของ rsync ต้นทุนจริงเพียงอย่างเดียวคือในระหว่างการเรียกใช้ครั้งแรก หลังจากนั้นสมมติว่าคุณมีตำแหน่งเป้าหมายสำรองที่มีขนาดพอสมควร (เทียบกับขนาดชุดข้อมูลทั้งหมดของคุณ) จะใช้เวลาเพิ่มขึ้นเล็กน้อยทั้งในเวลาหรือพื้นที่ดิสก์ ฉันไม่รวมเนื้อหาของ / backup เพราะนั่นคือที่ฉันติดตั้งระบบไฟล์เป้าหมายการสำรองข้อมูล ไม่รวมมันจะนำไปสู่สถานการณ์ของการคัดลอกการสำรองข้อมูลลงในตัวเอง อย่างไรก็ตามเพื่อความเรียบง่ายถ้าฉันต้องการกู้คืนบนโลหะเปลือยฉันต้องการรักษาจุดยึด!

ในกรณีของฉันฉันก็ไม่สามารถใช้อย่างมีเหตุผลone_fs 1; ฉันรัน ZFS ด้วยระบบไฟล์ปัจจุบัน ~ 40 การแสดงรายการทั้งหมดเหล่านั้นอย่างชัดเจนจะเป็นฝันร้ายของการบำรุงรักษาและทำให้การทำงานกับระบบไฟล์ ZFS มีส่วนเกี่ยวข้องมากกว่าที่มันเป็น

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


1
exclude /somepath/*ดีในกรณีนี้อย่างสมบูรณ์; มันไม่รวมทุกอย่างใน/somepath/ตามที่คาดไว้ คุณไม่ต้องการ**เพราะไม่จำเป็นต้องมองลึกลงไปเมื่อสิ่งที่อยู่ใน/somepath/นั้นถูกแยกออกไปแล้ว
Martin von Wittich

หรือเพียงแค่ใช้exclude /somepathและละเว้นไดเรกทอรีเหล่านี้ทั้งหมด - ไม่ใช่แค่เนื้อหา
Frank Kusters

4
@spaceknarf ที่หยุดการติดตั้งเมื่อคุณกู้คืนบนโลหะเปลือยเพราะไม่มีจุดเชื่อมต่อ
CVN

4

สิ่งที่คุณพยายามทำส่วนใหญ่สามารถทำได้โดยใช้การone_fsตั้งค่า ตั้งค่าระบบไฟล์ที่คุณต้องการรวมไว้ในการสำรองข้อมูลของคุณแล้วใช้การตั้งค่าที่จะไม่สนใจส่วนที่เหลือ ( proc, sys, devฯลฯ ) ฉันจะรวมไว้/lost+foundเพราะไดเรกทอรีนั้นควรว่างเปล่าเสมอเว้นแต่คุณจะสำรองระบบไฟล์ที่เสียหายซึ่งในกรณีนี้คุณอาจต้องการสำรองข้อมูลใด ๆ ที่fsckกู้คืนมา นอกจากนี้.pycและ.pyoไม่ควรอยู่ในไดเรกทอรีรากตั้งแต่แรกดังนั้นฉันจึงลบบรรทัดเหล่านั้นด้วย /tmpและ/var/tmpเป็นเรื่องเกี่ยวกับเส้นทางเดียวที่เหลืออยู่ในระบบ "ทั่วไป" ซึ่งมีข้อมูลที่สามารถยกเว้นได้อย่างน่าเชื่อถือจากการสำรองข้อมูล ดังนั้นอาจลอง:

one_fs 1

exclude /tmp/
exclude /var/tmp/

ฉันไม่ได้จริงๆหมายถึง/*.pycและ/*.pycแต่ระบบกว้าง*.pycและ*.pyoฉันคงที่ ฉันไม่แน่ใจว่าone_fsจะตั้งค่าให้1ยกเว้นสิ่งที่ฉันต้องการหรือไม่
เปาโล

1
จะเกิดอะไรขึ้นถ้าแพ็คเกจระบบใช้ไฟล์ดังกล่าว
ข้อความ

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

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

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

1

ฉันคิดว่ามันจะดีกว่าถ้ามีรายการแพ็กเกจเนื้อหาของ / etc / / home และข้อมูลผู้ใช้ / ระบบใด ๆ จาก / var และที่อื่น ๆ โดยปกติจะเร็วกว่าในการติดตั้งแพคเกจและคัดลอกการกำหนดค่าการทำงานกลับมา


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

เป็นประสบการณ์ของฉันที่เมื่อต้องการการสำรองข้อมูลจริงคุณยังพบว่าคุณไม่ได้จัดเก็บอย่างถูกต้องและจัดทำเอกสารบิตทั้งหมดเกี่ยวกับระบบ การมุ่งเน้นไปที่การพักผ่อนหย่อนใจมากกว่าการฟื้นฟูทำให้มันง่ายขึ้นเร็วขึ้นและทำบ่อยขึ้น เห็นได้ชัดว่า YMMV
ฌอนเพอร์รี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.