লিনাক্স - সার্ভারের ব্যাকআপ নেওয়ার সময় আমার কোন ডিরেক্টরিগুলি বাদ দিতে হবে?


37

আমি একটি লিনাক্স সার্ভার ব্যাক আপ করছি এবং এটি অন্য সার্ভারে সঞ্চয় করছি।

আমি একটি সাধারণ সঙ্গে শুরু

rsync -aPh --del server.example.com:/ /mnt/backup

তারপরে কেউ উল্লেখ করেছেন যে আমার ব্যাকআপ নেওয়া উচিত নয় /proc, যেহেতু আপনি /procঅন্য একটি সার্ভারের অন্যটিতে পুনরুদ্ধার করতে চান না ।

আমার অন্য কিছু অন্তর্ভুক্ত থাকা উচিত / উচিত নয়?

উদাহরণস্বরূপ, কি সম্পর্কে /sys?

উত্তর:


24

আপনি কীভাবে আপনার সিস্টেমটি পুনরুদ্ধার করতে যাচ্ছেন তার উপর এটি নির্ভর করে। আপনি যদি পুনর্নির্মাণ করেন তবে আপনার পরিষেবার জন্য আপনার কেবল কনফিগারেশন / ডেটা ফাইলের প্রয়োজন (যেমন: / ইত্যাদি, / অপ্ট, / ভার, / হোম)

আপনি যদি একটি সম্পূর্ণ সিস্টেম পুনরুদ্ধার করার পরে থাকেন তবে তা আপনি / প্রো,, বুট ও / দেব বাদ দিতে পারেন। তারপরে আপনি আপনার বুট মিডিয়া থেকে সর্বনিম্ন ওএস ইনস্টল করতে পারেন এবং তারপরে আপনার ব্যাকআপের মাধ্যমে আপনার সিস্টেমটি পুনরুদ্ধার করতে পারেন।

অবশ্যই সেরা ব্যাকআপ হ'ল এটি যা পরীক্ষা এবং যাচাই করা হয়েছে ।

সুতরাং আপনার যা প্রয়োজন মনে করেন না তা বাদ দিন একটি ভিএম-এ পুনরুদ্ধার করার চেষ্টা করুন এবং এই ডেটা ব্যবহার করে আপনি আপনার সিস্টেমটি ফিরে পেতে পারেন কিনা তা যাচাই করুন।


5
/bootপুরোপুরি বাদ দিন - আপনার নতুন বুট কনফিগারেশনের সাথে পুরানো বুট কনফিগারেশনের তুলনা করতে হবে। কেবল ম্যানুয়ালি ব্যতীত পুনরুদ্ধার না করার বিষয়টি নিশ্চিত হন /boot
কোয়াকোট কোয়েক্সোট

5
এবং পাশাপাশি সিস্টেমে বাদ দিন ... এবং খালি ধাতুতে পুনরুদ্ধার করতে, আপনি /etc/udev/rules.d/ কে আরও ভালভাবে বাদ দিতে চান।
ওয়াজাক্স

2
ফাইল সিস্টেম, / এমএনটি এবং / মিডিয়াতে কোনও মাউন্টড ডিভাইস অনুলিপি না করার জন্য কোনটি হারিয়েছে +
ব্লেড

29

উভয় /procএবং /sysহ'ল ভার্চুয়াল ফাইল সিস্টেম যা সিস্টেমের অবস্থা প্রতিফলিত করে এবং আপনাকে বেশ কয়েকটি রানটাইম প্যারামিটার পরিবর্তন করতে দেয় (এবং কখনও কখনও আরও বিপজ্জনক কাজগুলি করে, যেমন সরাসরি স্মৃতিতে বা কোনও ডিভাইসে লেখার মতো)। আপনার কখনই তাদের ব্যাকআপ বা পুনরুদ্ধার করা উচিত নয়।

বেশিরভাগ আধুনিক ডিস্ট্রিবিউশনে, /devবুটে গতিশীলভাবে তৈরি হয় (এটি udevবন্ধুদের দ্বারা ভরা একটি মেমরি ফাইল সিস্টেম ) files এটির ব্যাক আপ করার কোনও অর্থ নেই এবং এটিকে পুনরুদ্ধার করার চেষ্টা ব্যর্থ। যাইহোক, আপনার বন্টন একটি স্ট্যাটিক ব্যবহার করার জন্য কনফিগার হলে /dev, এই প্রযোজ্য নয় (চেক /proc/mounts, যদি /devএকটি হয় tmpfsএটা একটি মেমরি ফাইলসিস্টেম যায়)।

অন্যান্য ফাইল সিস্টেম রয়েছে যা আপনার ব্যাক আপ করা উচিত নয়; usbfs(সাধারণত এ /proc/bus/usb, যদি এ সব মাউন্ট), debugfs(এ হতে অনুমিত /sys/kernel/debugযদি এ সব মাউন্ট, কিন্তু কিছু মানুষ এটা অন্য কোথাও করা; আপনি সম্ভবত এই এক হবে না), devpts(এ মাউন্ট /dev/pts), অন্যান্য tmpfsদৃষ্টান্ত (প্রায়ই পাওয়া /dev/shm, /var/run, /var/lock, এবং অন্যান্য জায়গাগুলি; তাদের ব্যাক আপ করা এবং সেগুলি পুনরুদ্ধার করা নিরপেক্ষ তবে অর্থহীন হওয়া উচিত, কারণ শাটডাউনে তাদের বিষয়বস্তুগুলি হারিয়ে গেছে), এবং যে কোনও দূরবর্তী ফাইল সিস্টেম বা যাদুঘরের অটোমোন্টার ডিরেক্টরিগুলি (তাদের ব্যাকআপ নেওয়ার চেষ্টা বা পুনরুদ্ধার করার চেষ্টা বিপর্যয়ের মধ্যে শেষ হতে পারে, আপনি যেমন করতে পারেন ব্যাক আপ / অন্য কোনও মেশিনে পুনরুদ্ধার শেষ করুন )। আপনার সাথে /mediaএবং যত্নবান হওয়া উচিত/mnt, বাহ্যিক ডিভাইসগুলি (কোনও সিডির মতো যা আপনি ড্রাইভে ভুলে গিয়েছিলেন) সেখানে পাওয়া যেতে পারে, তবে আপনি ব্যাক আপ করা উচিত এমন কোনও কিছু মাউন্ট করার উদ্দেশ্যে সেগুলি উদ্দেশ্য হিসাবে ব্যবহার করতে পারেন।

মনে রাখবেন যে, বেশিরভাগ নিরীহ ছাড়া অন্য tmpfs, দৃষ্টান্ত, নেটওয়ার্ক ফাইল সিস্টেম / automounters, ও অপসারণযোগ্য মিডিয়া ফাইল সিস্টেম আপনি ব্যাক আপ সব সন্তান নও উচিত /dev, /procঅথবা /sys। আপনি কোন নেটওয়ার্কের ফাইল সিস্টেম (অথবা automounters), এবং কোন অপসারণযোগ্য মিডিয়া ব্যতীত যদি /sysএবং /procও পুনরায় বুট করার পরে একটি (মুছা পুনরুদ্ধার tmpfsদৃষ্টান্ত) যথেষ্ট হওয়া উচিত।



8

/ Proc এবং / sys কনফিউজড rsync এর কয়েকটি বিশেষ ফাইল। আপনি সাধারণত মাউন্ট করা নেটওয়ার্ক ফাইল সিস্টেমগুলি ব্যাক আপ করতে চান না। বিরল ফাইলগুলিও সমস্যা তৈরি করতে পারে।

এটি কোনও ফাইল সিস্টেমে সীমাবদ্ধ করতে -x যুক্ত করুন। এটি সমস্ত নেটওয়ার্ক ফাইল সিস্টেম এবং / proc ইত্যাদি এড়িয়ে চলেছে তবে আপনাকে পরে যে মাউন্ট করা প্রতিটি ফাইল সিস্টেমের জন্য আপনাকে একটি আরএসএনসি চালানো দরকার।

সংবেদনশীলভাবে স্পার্স ফাইলগুলি হ্যান্ডেল করতে -S যোগ করুন।


4

/ বুট, / ডিভ এবং / প্রোক ব্যাকআপের পক্ষে যথেষ্ট অকেজো - যদিও আপনি যদি জানেন যে আপনি কী করছেন আপনি ব্যাকআপ / বুট করতে পারেন।

আমি ব্যাকআপ / লিবিব, / মিডিয়া, / এমএনটি, / এসবিন, / বিন, / এসআরভি, / এসআই, বা / টিএমপিও নেব না।

/ usr alচ্ছিক, আপনার / usr মূল্য ব্যাকআপ আপ কিছু আছে কিনা তার উপর নির্ভর করে। আমি যদি আপনি হয়ে থাকি তবে আমি ব্যবহারকারীর OME হোমস, / ভার, এবং / ইত্যাদি (কনফিগারেশন ফাইলগুলির জন্য) ব্যাক আপ করার বিষয়ে সবচেয়ে বেশি উদ্বিগ্ন।

আবার যদিও, এটি সর্বোপরি আপনি কী ধরনের ব্যাকআপ করতে চান তার উপর নির্ভর করে । এটি কি ওয়েব সার্ভার? এটি কি ব্যক্তিগত কম্পিউটার? এটি কি হোম / এর নিচে প্রচুর ডিরেক্টরি সহ শেল সার্ভার?


আমি একটি নতুন মেশিনে ব্যাকআপ ক্লোনিং ব্যবহার করে পুনরুদ্ধার করতে চাই
ররি

"ক্লোনিং" বলতে কী বোঝ? আপনি সর্বদা আপনার নতুন সিস্টেমে dd এবং sfdisk sfdisk -d> split_table.part dd ব্যবহার করে কাউন্ট পার্টিশনগুলি ব্যাকআপ করতে পারবেন তবে প্রতিটি নতুন সিস্টেমে sfdisk / dev / এসডিএ <বিভাজন_সামগ্রী। পার্ট ডিডি if = dev.sda1.img of = / dev / sda1 (প্রতিটি পার্টিশনের জন্য, আবার)
মাইকেল পোবেগা

যেহেতু মন্তব্য সিস্টেমটি কোড ট্যাগ পছন্দ করে না, তাই আমি আরও একটি উত্তর পোস্ট করেছি।
মাইকেল পোবেগা

@ মিশেলপোবেগা যদি আপনি বলছেন এমন কাঁচা পার্টিশন ব্যাকআপ করে রাখেন তবে আপনাকে পুরো ডিস্কের আকারটি অনুলিপি করতে হবে। আপনি যখন নিজের ডিস্কের কেবল 80BG ব্যবহার করেছেন তখন কেন 512 জিবি অনুলিপি করবেন? সঙ্গে rsyncতুমি কি কেবল মাত্র কপি কি আপনি ব্যবহার করেছেন, কিন্তু তাই আপনি নিরাপদে এটির জন্য একটি ক্রন কাজ চালাতে পারেন এছাড়াও, ভবিষ্যতে সিঙ্কিং সক্ষম করুন।
সর্বোচ্চ

এই বছরগুলিতে ফিরে আসার পরে, আমার দশকের অভিজ্ঞতা আমাকে শিখিয়েছে যে আপনি সঠিক @ ম্যাক্স।
মাইকেল পোবেগা

3

আপনি sfdisk এবং dd ব্যবহার করে মোট ব্যাকআপ অর্জন করতে পারেন।


প্রতিটি হার্ড ড্রাইভের পার্টিশন স্কিমটি ব্যাক আপ করতে আপনি এসফডিস্ক ব্যবহার করুন:

sfdisk -d /dev/sda  > parttable_sda.part

প্রতিটি পার্টিশন ব্যাকআপ করতে আপনি ডিডি ব্যবহার করতে পারেন, যেমন:

dd if=/dev/sda1 of=devsda1.img

যেখানে /dev/sda1আনমাউন্ট নেই যেমন লাইভ-সিডি বুট সহ।

(মনে রাখবেন এই ফাইলটি লেখার জন্য আপনার প্রচুর পরিমাণে মুক্ত স্থান থাকা দরকার; সুতরাং আপনি এটি কোনও বাহ্যিক মিডিয়ায় লিখতে চাইতে পারেন) প্রতিটি বিভাজনের জন্য এটি করুন, একবারে এবং সমস্ত কিছু ব্যাক আপ করুন।


তারপরে, অন্য কম্পিউটারে পুনরুদ্ধার করতে আপনি এটি করতে পারেন:

sfdisk /dev/sda < parttable_sda.part
dd if=devsda1.img of=/dev/sda1    # do this for each partition

3
সতর্কতা: পার্টিশনটি আনমাউন্ট করা বা কেবল পঠনযোগ্য মাউন্ট করা থাকলে কেবল এটি করুন। কোনও পার্টিশনের লিখিত হওয়ার সময় এটির কাঁচামালগুলি ফেলে দেওয়া ব্যাকআপের সাথে খারাপভাবে বেমানান ফাইল সিস্টেমের সাথে শেষ হতে পারে (কারণ ফাইল সিস্টেমের প্রারম্ভের ব্লকগুলি শেষের ব্লকের চেয়ে "পূর্ববর্তী" অনুলিপি করা হয়, এবং ফাইল সিস্টেম অ্যালগোরিজগুলি না এটি আশা করুন; আপনি যদি কোনওভাবে ফাইল সিস্টেমের একটি পারমাণবিক স্ন্যাপশট করতে পারেন তবে আপনি এই সমস্যাটি এড়াতে পারেন)। fsck আপনাকে সাহায্য করবে না, কারণ এর অ্যালগরিদমগুলি ডিস্কে ফাইল সিস্টেম লিখতে থাকে তার উপরও নির্ভর করে।
সিজারব

ডিডি হল উপায়। অবশ্যই একটি লাইভসিডি বুট করুন। এবং dd if=/dev/urandom of=/dev/sdb bs=512 count=12লক্ষ্য ড্রাইভের এমবিআর এবং পার্টিশন টেবিলটি মোছা গুরুত্বপূর্ণ ।
এসডিসোলার

2

বাদ দেওয়ার পরিবর্তে, আমি সাধারণত যা চাই তা কেবল ব্যাকআপ করি। সহ: /home /etc /var(বাদে /var/log)


1

মূলত, সিউডো-ফাইল সিস্টেমগুলি (/ proc, / sys, / dev / shm ...) ব্যাক আপ করার দরকার নেই।


1

এই মহান সম্প্রদায় দ্বারা চিহ্নিত হিসাবে:

/ dev / proc / sys / tmp / run / media / হারিয়ে + পাওয়া / বুট (/ বুট optionচ্ছিক অন্যান্য মন্তব্য দেখুন)

রেফারেন্সের জন্য আমার চূড়ান্ত আরএসসিএনসি কমান্ড (আর্কের অধীনে বাহ্যিক মিডিয়াগুলি '/ রান / মিডিয়া / ফ্রেড / ইনটেনসো /' তে মাউন্ট করা হয়েছে এবং 'ফ্রেড' নামের ফোল্ডারে ব্যাক আপ নেওয়া):

do sudo rsync -Pazhmxv --exclud / run / media --excolve / dev --excolve / হারিয়ে + পাওয়া --excolve / tmp --excolve / proc --excolve / boot --excolve / sys / / run / Media / ফ্রেড / INTENSO / ফ্রেড /।

(বাদ দেওয়া ফাইলগুলি কোঁকড়া বন্ধনী (--exclude = {/ dev, / proc}) বাশের অধীনে বা একটি পাঠ্য ফাইল (--exclude-from = 'excude.txt') সহ নির্দিষ্ট করা যেতে পারে)।

-পি: অগ্রগতি দেখান -a: সংরক্ষণাগার মোড -z: স্থানান্তরকালে সংকোচন -h: একটি মানব-পঠনযোগ্য ফর্ম্যাটে আউটপুট সংখ্যা -m: খালি ডিরেক্টরি ছাঁটাই -x: একটি ফাইল-সিস্টেমের সীমা -v: ভার্বোস


1

আমি একটি উবুন্টু 18.04 মেশিনে আছি এবং আমি এগুলি বাদ দিয়েছি:

/dev/
/proc/
/sys/
/tmp/
/run/
/mnt/
/media/
/lost+found/
/cdrom/
/swapfile

এছাড়াও, নির্দিষ্টভাবে আমার সেটআপের জন্য, আমি এগুলি বাদ দিই:

/home            <-- Backed up separately
/backup          <-- Mount point for backup disks
/data            <-- Mount point for data disks, which are backed up off-site
/scratch         <-- Mount point for volatile fast SSD scratch disk

0

আমি সাধারণত একটি সিস্টেমে সমস্ত কিছু ব্যাক আপ করার অভ্যাস করি , এমনকি যে জিনিসগুলি আমি নির্দিষ্টভাবে জানি তা ব্যাক আপ করা অকেজো। এটি সেট আপ করা সহজ এবং আপনি 100% নিশ্চিত হতে পারেন যে আপনি যা প্রয়োজন তা ব্যাকআপের অন্তর্ভুক্ত করে নেবেন।


1
হ্যাঁ, তবে ফলোআপ প্রশ্নটি হ'ল আপনি আপনার ব্যাকআপ থেকে অপ্রয়োজনীয় হিসাবে কী সরান?
ররি

যার প্রতি আমি সাড়া দেব: "কিছুই না"।
ম্যাক্সিমাস মিনিমাস

সত্য। আপনি এটিকে পুনরুদ্ধার প্রক্রিয়া থেকে বাদ দিন, ব্যাকআপ নিজেই নয়। তবে আপনি সম্ভবত এখনও ছেড়ে যেতে চান /procএবং /devযাতে দরিদ্রকে সামান্য বিভ্রান্ত না করেন rsync
টিজে ক্রাউডার

1
@ এমএইচ, আপনি পুনরুদ্ধার করবেন / প্রোক / কেকোর, মূল সার্ভারের স্মৃতি কোনটি? এটি কিছুটা নিরীহ শোনাচ্ছে ...
ররি

0

ওয়েবসাইট বিকাশের জন্য এবং ডকুমেন্টেশন উইকি হোস্ট করার জন্য আমি একটি উবুন্টু লিনাক্স বাক্স ব্যবহার করছি। প্রতি রাতে একটি ক্রন্টব মাইএসকিউএল ডাটাবেসটিকে / var / www এ ফেলে দেয় এবং তারপরে সমস্ত / var / www টি জিপ করে ব্যাকআপ সার্ভারে প্রতিলিপি করা হয়। এটি আদর্শ নয়, তবে এটি যথেষ্ট। আমাকে এক পর্যায়ে সার্ভারটি পুনর্নির্মাণ করতে হয়েছিল, এবং এপাচি এবং সাম্বা কনফিগারেশন ফাইলগুলি যা আমি সত্যিই মিস করেছি।


0

আমি ধরে নেব আপনার ভার্চুয়াল মেশিনে লিনাক্স নেই। যদি সম্ভব হয় তবে আমি ভার্চুয়ালাইজেশনে যাওয়ার বিষয়ে বিবেচনা করার অনুরোধ করব। ভিএম স্তরে ব্যাকআপগুলি সামঞ্জস্যতা এবং ব্যবহারের সহজতার সম্পূর্ণ নতুন স্তর level এখানে ফ্রি ভার্চুয়ালাইজেশন সরঞ্জাম রয়েছে, সুতরাং আপনাকে ভিএমওয়্যার বা অন্যান্য ব্যয়বহুল দানব সরঞ্জামে অগত্যা বিনিয়োগ করতে হবে না।


0

প্রশ্ন: সার্ভারের ব্যাকআপ নেওয়ার সময় আমার কোন ডিরেক্টরিগুলি বাদ দেওয়া উচিত?

এখানে আমি একটি উবুন্টু 16.04 এলটিএস ল্যাপটপ থেকে একটি উবুন্টু 16.04 এলটিএস সার্ভার পর্যন্ত প্রায়শই ব্যবহার করি script এটি পুরোপুরি ব্যাকআপ নেওয়ার সময় কোন ডিরেক্টরিগুলি বাদ দেওয়া উচিত তা স্পষ্টভাবে দেখায়:

echo "EMPTYING TRASH"
rm -rf ~/.local/share/Trash/* >/dev/null 2>&1
echo "DELETING OLD LOGS"
sudo rm -f /var/tmp/* >/dev/null 2>&1
sudo rm -f /var/log/*.gz >/dev/null 2>&1
sudo rm -f /var/log/kern* >/dev/null 2>&1
sudo rm -f /var/log/messages* >/dev/null 2>&1
echo "DELETING CHROMIUM CACHE"
rm -rf /home/pi/.cache/chromium/Default/Cache/* >/dev/null 2>&1
echo "====================================================================="
echo "      BEGINNING RSYNC from PAV root to PRIME5:/mnt/full/pav"
echo "====================================================================="
time sudo rsync -aAXv \
          / \
          --bwlimit=500 \
          --delete \
          --delete-excluded \
          --ignore-errors \
          --exclude="/dev/*" \
          --exclude="/proc/*" \
          --exclude="/sys/*" \
          --exclude="/tmp/*" \
          --exclude="/run/*" \
          --exclude="/mnt/*" \
          --exclude="/media/*" \
          --exclude="/lost+found" \
          abc@prime5:/mnt/full/pav
echo "====================================================================="
df -h

এর বর্জনটি দ্রষ্টব্য /mnt- যা যেখানে প্রতিটি উবুন্টু সিস্টেমে ক্রোন-ভিত্তিক rsyncস্ব-ব্যাকআপগুলির জন্য দিনে 4 বার মাউন্ট করা একটি ফুলটাইম ব্যাকআপ ড্রাইভ থাকে । এই ড্রাইভগুলি এন্ট্রি দ্বারা মাউন্ট করা হয় fstabএবং সর্বদা উপস্থিত থাকে। তাদের অন্য সিস্টেমে ব্যাকআপে অন্তর্ভুক্ত করা সদৃশ হবে।

একইভাবে, /mediaযেখানে ইউএসবি ড্রাইভগুলি মাউন্ট হয়। তারা পৃথকভাবে ব্যাক আপ করা হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.