Linux में, मैं अपने पूरे ड्राइव की इमेज स्नैपशॉट कैसे बना / रिस्टोर करता हूँ?


14

मैं Windows उपयोगिताओं द्वारा बहुत खराब हो गया हूं जो आपके संपूर्ण ड्राइव का डिजिटल स्नैपशॉट लेते हैं, जिसे आप ड्राइव क्रैश की स्थिति में फिर से पुनर्स्थापित कर सकते हैं। (उदा। मैक ओएस एक्स के लिए टाइम मशीन की तरह)।

क्या लिनक्स में ऐसा करने का एक समान तरीका है?


1
मुझे लगता है कि विंडोज में आपके खराब हो गए लिनक्स उपयोगकर्ता वास्तव में सिस्टम उपयोगिताओं द्वारा खराब हो जाते हैं। :)

जवाबों:


12

वह उपकरण जिसे आप चाहते हैं (जो टाइम मशीन से बहुत निकट से मिलता जुलता है) कहलाता है rsnapshot । सामान्य बैकअप टूल के विपरीत, यह केवल उन चीजों को कॉपी करता है जो बदल गए हैं, और यह आपको आसानी से समय में कई बिंदुओं की यात्रा करने की अनुमति देता है। आप इसे बता सकते हैं कि इसे कितनी डिस्क जगह की अनुमति है, और यह उस सीमा के भीतर रहने के लिए रखे गए स्नैपशॉट की संख्या को समायोजित करता है। एक बहुत अच्छा उपकरण।


6

Partimage कमांड लाइन से या एक पाठ GUI के रूप में चलता है। इसका dd पर एक महत्वपूर्ण लाभ है:

विभाजन केवल विभाजन के उपयोग किए गए भागों से डेटा की प्रतिलिपि बनाएगा। गति और दक्षता के लिए, मुफ्त ब्लॉक छवि फ़ाइल में नहीं लिखे जाते हैं। यह 'dd' कमांड के विपरीत है, जो खाली ब्लॉक्स को भी कॉपी करता है।


6

आप बस कर सकते हैं " dd if=/dev/sda of=/path/to/target/backup "अगर आपको पता है कि आपके पास वह कमरा है जहाँ आप इसे लगाने की कोशिश कर रहे हैं। आप यह भी कर सकते हैं" dd if=/dev/sda | bzip2 > /path/to/target/backup "ऑन-द-फ्लाई संपीड़ित करने के लिए। हालांकि इसमें कुछ समय लग सकता है।

या, आप कर सकते हैं " tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup "एक उपयोगकर्ता के रूप में जिसके पास सभी आवश्यक पठन अनुमतियाँ हैं। अपना चयन करें।

परिशिष्ट: मैंने हाल ही में एक नया लैपटॉप खरीदा है, विस्टा के साथ पूर्वस्थापित। मुझे लगा कि मैं विस्टा को कहीं संरक्षित करना चाहता हूं, अगर मैं इसे किसी बिंदु पर आज़माना चाहता हूं, तो पहली बार मैंने कंप्यूटर को बूट किया (लिनक्स लाइव एलसीडी के साथ), मैंने ऐसा किया:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

यह निश्चित रूप से एक तेज स्थानीय नेटवर्क पर था। अन्यथा यह ट्रांसमिशन से पहले संपीड़ित करने के लिए अधिक विवेकपूर्ण होगा:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

आशा है कि आपको इसमें से कुछ उपयोगी मिलेंगे।

संपादित करें: उफ़। बदला हुआ bb सेवा मेरे dd...


1
इसमें बूट सेक्टर भी शामिल नहीं होगा? एक विंडोज़ ड्राइव को बैकअप करने के लिए पार्टिमेज का उपयोग करते समय हमेशा मुझे गड़बड़ करता है।

greg, इसमें किसी भी पार्टीशन टेबल और mbr सहित सब कुछ शामिल होगा
Johannes Schaub - litb

4

मैं दो-गुना रणनीति का उपयोग करता हूं: # 1 है LVM स्नैपशॉट्स और नंबर दो है rsnapshot , जो मैं एक समर्पित बाहरी हार्ड डिस्क ड्राइव के लिए समय-समय पर बैकअप बनाने के लिए उपयोग करता हूं। बाहरी हार्ड डिस्क ड्राइव को रखा जाता है ताकि मैं आसानी से इसे अपने रास्ते पर बाहर कर सकूं क्योंकि दरवाजा कुछ बुरा होना चाहिए। मैं (अभी तक) एक ऑफ-साइट तंत्र का उपयोग नहीं करता हूं, जो समय-समय पर एन्क्रिप्टेड डीवीडी डिस्क की एक श्रृंखला के लिए स्नैपशॉट को जलाने और भंडारण के लिए दूसरे शहर में एक दोस्त के स्थान पर शिपिंग करता है।

जिस तरह से यह स्नैपशॉट नहीं करता है, क्योंकि मैं उन चीज़ों के लिए कड़ी कड़ी का उपयोग करता हूं, जो बदलने नहीं गए हैं, क्योंकि मैं rsnapshot की अत्यधिक अनुशंसा करता हूं। यदि आपकी होम डाइरेक्टरी bonkers जाती है, तो आप ड्राइव विफलता से पुनर्स्थापित या पुनर्प्राप्त करने के बाद बस एक rsnapshot कॉपी और tarpipe या rsync को अपने नए होम विभाजन में वापस ले सकते हैं।


3

कई। वहाँ पुराने जमाने है dd (1) , जो आर्कन की तरह है; वहाँ है डंप (8) तथा बहाल (8) ; आसपास कई ओपन-सोर्स उत्पाद हैं, जैसे अमांडा ; और यदि आप चाहें, तो आप ZFS स्थापित कर सकते हैं और समय-समय पर स्नैपशॉट लेने के लिए एक क्रोन स्क्रिप्ट का उपयोग कर सकते हैं, जिससे आपको टाइम मशीन के समान प्रभावी रूप से कुछ मिल सकता है (टिम फॉस्टर का वेबलॉग देखें।)

विकिपीडिया है कई विकल्पों की एक सूची के साथ एक लेख


2

यदि आप टाइम मशीन की तरह एक फ़ाइल-स्तर बैकअप चाहते हैं, तो मैं अत्यधिक अनुशंसा करता हूं rsnapshot जैसा नॉर्मन सुझाव दिया।

यदि आप एक पूर्ण छवि बैकअप चाहते हैं और प्रकार के समाधान को पुनर्स्थापित करते हैं, जैसे कि नॉर्टन भूत, तो मैंने पाया है Clonezilla काफी अच्छा काम करने के लिए। मैं लाइव सीडी को बूट करता हूं, और फिर छवि को पुनर्स्थापित / पुनर्स्थापित करने के लिए एसएसएच सर्वर के रूप में एक और मशीन का उपयोग करता हूं।

(यहां तक ​​कि मैं एक पुराने टैबलेट लैपटॉप के लिए पीएक्सई बूट के माध्यम से काम करने का लाइव संस्करण प्राप्त करने में कामयाब रहा, जिसमें मेरे पास कोई सीडी ड्राइव नहीं था और यूएसबी की कोई बूटिंग नहीं थी, लेकिन यह बहुत ही झूठा था।)

और आप इसे विंडोज़ मशीनों के लिए भी उपयोग कर सकते हैं।


1

मैं हमेशा उपयोग करने के बारे में चिंतित हूं dd जब ड्राइव अलग-अलग आकार के थे। या अलग-अलग संख्या में प्रमुख / सेक्टर / ट्रैक / आदि थे।

dd बहुत उपयोगी है जब स्नैपशॉट और उसी ड्राइव को फिर से भरना। विशेष रूप से यूएसबी ड्राइव या विंडो विभाजन। लेकिन 500Meg से 1500Meg ड्राइव पर जाने पर, मैं चिंतित हो जाता हूं।

इसके अलावा, जब मेरी ड्राइव विफल हो जाती है, तो मैं इसे नए ओएस में अपग्रेड करने के लिए एक बहाने के रूप में उपयोग करने में सक्षम होना पसंद करता हूं।


वह सब कहा, अच्छा पुराना है टार अच्छा काम करता है! जीएनयू-टार शामिल diff-टार के खिलाफ-फ़ाइलें , केवल अद्यतन-फ़ाइलें-कि-है-बदला , तथा केवल-संग्रह-फ़ाइलें-नए-से-तारीख विकल्प।

(मुझे उल्लेख करना चाहिए: मैंने कुछ साल पहले एक बग में भाग लिया था जिसके लिए मुझे एक नया संस्करण डाउनलोड करने और स्थापित करने की आवश्यकता थी जीएनयू-टार । (बहुत लंबे रास्ते और कई संस्करणों के साथ कुछ करना।) कोई बड़ी बात नहीं। बस ध्यान रखें कि यह हमेशा एक विकल्प है।)

आपको शायद बाहर करना चाहिए / proc , / sys , और शायद / Var / log / lastlog या / MNT । (मैं आमतौर पर एक बाहरी ड्राइव के तहत बैक अप लेता हूं / MNT । बैकअप लेना - इतना अच्छा नहीं! "

समेत / dev सार्थक हो सकता है। gnu-टार उपकरणों को ठीक से संभाल लेंगे ( mknod )। हालांकि आप शायद बैकअप का उपयोग नहीं करेंगे / dev एक पुनर्स्थापना के दौरान। (कभी-कभी यह देखकर अच्छा लगता है कि आपने पहले कौन सी अनुमतियां या लिंक स्थापित किए थे।)

इसके अलावा, आप डंप करना चाह सकते हैं fdisk & Amp; आरपीएम जानकारी से पहले समर्थन करना। जैसे

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

साथ ही किसी भी "वैकल्पिक" बढ़ते उपयोगकर्ता के घुड़सवार फ़ाइल सिस्टम।


1

यहां एक और विधि के लिए पूर्ण चरण हैं, एक हार्ड ड्राइव से दूसरे में जाने के लिए काम करता है, और यहां तक ​​कि एक मशीन क्लोनिंग भी यदि हार्डवेयर समान है।

सबसे पहले, एक अच्छी कार्य प्रणाली की एक छवि बनाएं। इसे जड़ के रूप में करें।

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

कर्नेल छवियों का बैकअप लें

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

उस मशीन को बूट करें जिसे आप लाइव सीडी / जेंटू सीडी के साथ तैनात करना चाहते हैं। उस हार्ड ड्राइव को माउंट करें और इसे उचित रूप से विभाजित करें:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Filesystems जोड़ें

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

माउंट ड्राइव:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

इस मशीन पर hostname.tgz फ़ाइल की प्रतिलिपि बनाएँ।

इसे नई मशीन / mnt / new_root की जड़ में निकालें

# tar -xzf hostname.tgz

नए वातावरण में चूरोट।

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

सत्यापित करें /boot/grub/grub.conf और / etc / fstab

हार्ड ड्राइव पर सेटअप ग्रब:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

बाहर निकलें और umount ड्राइव, मशीन रिबूट।


0

तार्किक वॉल्यूम प्रबंधक LVM का उपयोग करके आप लिनक्स पर स्नैपशॉट ले सकते हैं।


1
यदि आप LVM का उपयोग कर रहे हैं, तो जरूरी नहीं कि मामला ऐसा ही हो। यदि हां, तो हां, यह एक अच्छा विकल्प होगा howtoforge.com/linux_lvm_snapshots
Gavin H
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.