সাবভার্সন ব্যাকআপ করার সর্বোত্তম উপায়?


10

সাবভার্সন ব্যাকআপগুলি করার সেরা উপায় কী (কোনও ডেবিয়ান ভিত্তিক সার্ভারে)।

এটি কি svnadmin ব্যবহার করার জন্য?

svnadmin dump /path/to/reponame > reponame.dump

অথবা সবেমাত্র দির যেখানে টেক্সার সংগ্রহস্থল আছে সেখানে?

tar -cvzf svn.backup.tar.gz /var/subversion/

উপরের কিছুর মতামত কি?

ধন্যবাদ জোহান


আপডেট : এটি একটি ছোট সার্ভার যা কেবল হাতে গোনা কয়েকটি পোপ রয়েছে। সুতরাং বর্ধিত ব্যাকআপগুলি সম্ভবত প্রয়োজন হয় না, আমি মনে করি এটি সহজ রাখায় ফোকাস করা ভাল।

আপডেট : একটি পূর্ণ ব্যাকআপ করার জন্য আমি প্যাকস র‍্যাপার স্ক্রিপ্টটি (যে পরিবর্তে এসএনএন-হট-ব্যাকআপের জন্য একটি মোড়ক ছিল) ব্যবহার করেছিলাম এবং তারপরে অন্য একটি পরিষ্কার কম্পিউটারে পূর্ণ পুনরুদ্ধার করেছিলাম। তবে আমি সেই "SVN_HOTBACKUP_NUM_BACKUPS = 10" অংশটি সরিয়েছি কারণ এটি আমার পক্ষে কাজ করে না।

দয়া করে নোট করুন যে আমি অনুভব করি যে এটি একধরনের সরল ছিল এবং ফলাফলটি খুব সবেমাত্র দিরের কাছে এসেছিল। মান্নি যেমন এখানে এসএনএন-হট-ব্যাকআপ / "এসএনএইডমিন হটকপি" ব্যবহার করার জন্য উল্লেখ করেছেন তেমন একটি নির্ভরযোগ্য পদ্ধতি, কারণ আপনি যদি দুর্ভাগ্য হন তবে টার সময়ে সময়ে দুর্নীতিগ্রস্থ ব্যাকআপ তৈরি করতে পারে।

উত্তর:


11

এসএনএন-হট-ব্যাকআপ স্ক্রিপ্টটি সন্ধান করুন। এটি সাবভার্সন সহ শিপিং করা উচিত এবং এতে আপনি যা চান তা করার জন্য সমস্ত যুক্তি যুক্ত করে এবং পুরানো ব্যাকআপগুলি থেকে স্বয়ংক্রিয় রোলিং। আমি নিম্নলিখিত র‍্যাপার স্ক্রিপ্টটি লিখেছি যা একাধিক সংগ্রহস্থল সহ একক সার্ভারকে ব্যাকআপ করার জন্য একটি নাইট ক্রোনজব হিসাবে চালানোর জন্য এসএনএন-হট-ব্যাকআপ ব্যবহার করে, সাধারণীকরণের জন্য সামান্য পরিবর্তিত হয়েছে।

#!/bin/bash

#
# Dumps the svn repos to a file and backs it up
# to a local directory.

#Keeps the last 10 revisions
REPODIR="/var/repos"
BAKDIR="/data/backup/svn"
PROG="/usr/local/sbin/svn-hot-backup"
REPOLIST='repo1 repo2 repo3'

if [ ! -x "${PROG}" ]
then
        echo "svnbak: Could not execute \`${PROG}\`"
        exit 1
fi

for repo in ${REPOLIST}
do
    # Dump the database to a backup file
    echo "svnbak: Dumping subversion repository:  ${repo}"
    SVN_HOTBACKUP_NUM_BACKUPS=10 nice ${PROG} --archive-type=gz ${REPODIR}/${repo} ${BAKDIR}/${repo} &> /tmp/svnbak.$$

    if [ "$?" -eq "1" ]
    then
        echo "svnbak: Hot backup on '${repo}' failed with message:"
        /bin/cat /tmp/svnbak.$$
    fi

    /bin/rm /tmp/svnbak.$$
done

exit 0

1
এবং যেহেতু এটি এসএনএডমিন হটকপির জন্য একটি মোড়ক, তাই আমি পুনরুদ্ধারের জন্য অনুমান করি আমি কেবল ফাইলগুলিকে / var / subversion / repos / এর আওতায় অনুলিপি করছি? আমার কি আর কিছু করা দরকার?
জোহান

আপনার সদ্য অনুলিপি করা সংগ্রহস্থলটি সত্যই বৈধ কিনা তা যাচাই করার জন্য 'এসএনএডমিন যাচাইকরণ' স্ক্রিপ্টে একটি ভাল সংযোজন হতে পারে।
অ্যান্ড্রয়েড

@ জোহান - হ্যাঁ, কেবল তাদের কপি করুন। "ফলস্বরূপ ব্যাকআপ সম্পূর্ণরূপে কার্যকরী সাবভার্সন সংগ্রহস্থল, কোনও কিছু ভয়াবহভাবে ভুল হয়ে গেলে আপনার লাইভ স্টোরের প্রতিস্থাপন হিসাবে বাদ দিতে সক্ষম" " এস.এন.এন.বুক.আরড.
বিবিএন /

আপনি পূর্ববর্তী এন দিনের মধ্যে পরিবর্তিত যে কোনও সংগ্রহস্থল সন্ধান করতে ফাইন্ড কমান্ডটিও ব্যবহার করতে পারেন। ফাইন্ড কমান্ডের আউটপুটে কেবল 'ডিবি / কারেন্ট' অনুসন্ধান করুন। এটির এই সুবিধাটি রয়েছে যে আপনার এই প্রতিনিধিটি পরিবর্তনশীল ক্রমাগত আপডেট করার দরকার নেই। এছাড়াও, এসভিএন ১.৮-এ আপনাকে খালি গন্তব্যে আর গরমকপি লাগবে না, তবে পূর্ববর্তী হটকপিতে সংযোজন করতে সক্ষম হবে। এটি সম্ভবত উচ্চতর আকারের 2-3 অর্ডার দ্বারা হটকপি ব্যাকআপগুলিকে গতি বাড়িয়ে তুলবে।
tgharold

9

আপনি কি এ সংক্রান্ত নথিপত্র দেখেছেন ?

মূলত, আপনার কাছে দুটি বিকল্প রয়েছে:

  1. ব্যবহার করে বর্ধিত ব্যাকআপগুলি সম্পাদন করুন svnadmin dump
  2. ব্যবহার করে আপনার সম্পূর্ণ সংগ্রহস্থলটির ব্যাকআপ দিন svnadmin hotcopy

কেবলমাত্র উপার্জন ডিরেক্টরির একটি অনুলিপি না একটি বিকল্প কারণ আপনার সংগ্রহস্থলের যখন কপি তৈরি করা হচ্ছে পরিবর্তিত হতে পারে।

আপনি ইনক্রিমেন্টাল বা সম্পূর্ণ ব্যাকআপে রয়েছেন তা আপনার প্যারানোয়ার পরিমাণ, আপনার ভাণ্ডারের আকার, আপনার প্রয়োজনীয়তা এবং আপনার অবকাঠামো নির্ভর করে।


4

আমি এসভিএনব্যাকআপের প্রস্তাব দিচ্ছি কারণ এটি বর্ধিত ব্যাকআপ করতে সক্ষম ।

ইহা কেন গুরুত্বপূর্ণ? ঠিক আছে, আপনার যদি একটি বিশাল বিকাশকারী দল থাকে এবং আপনার একটি দৈনিক সাবভার্সন ব্যাকআপ থাকে এবং আপনার সিস্টেমটি পুরানো ব্যাকআপে 12 ঘন্টা ব্যর্থ হয় তবে পুরো দিনের কাজটি নষ্ট হয়ে যায়।

আপনি যদি পুরো ব্যাকআপ করেন (যা এসভিএন হটকপি হয়) আপনি যদি দিনে আপনার রিপোজিটরি মেশিনে অপ্রয়োজনীয় বোঝা সৃষ্টি করে থাকেন যা অধৈর্য বিকাশকারীদের বিরক্ত করবে।

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


4

আমি অন্যথায় কেবল পঠনযোগ্য রিপোজিটরিতে ব্যাকআপ করতে এসভিএনসিঙ্ক ব্যবহার করি, যা নিজেই পুরানো অনুলিপিগুলির সাথে ব্যাক আপ হয় (দিন, সপ্তাহ, মাস)



ম্যানুয়ালটি থেকে "এবং এটি করার কয়েকটি উপায় থাকলেও এর প্রাথমিক শক্তিটি এটি দূর থেকে কাজ করতে পারে"।
জোহান

Svnsync উল্লেখ করার জন্য +1 - পছন্দ করুন dumpএবং hotcopyএটির অবশ্যই ব্যবহার রয়েছে। এটি স্থানীয় বর্ধিত ব্যাকআপগুলির জন্যও বেশ কার্যকর হতে পারে।
জোনিক 14

এবং যদি ব্যাকআপ সার্ভারটি অন্য কোনও স্থানে থাকে তবে আপনি একক পদক্ষেপে অনেকগুলি পুনরুদ্ধারের মামলাগুলি সমাধান করেন
জ্যাক থম্পসন

1
আপনি যদি এসভিএনসিঙ্ক রুটে যেতে যাচ্ছেন তবে দুটি জিনিস: ১) আপনার যদি একটি বৃহত রেপো যদি একটি এসএনএডমিন হটকপি দিয়ে শুরু হয়, কারণ এটি অনেক দ্রুত এবং / ডিবি / রেভিস 2 এর বাইরে ব্যাক আপস ডেটা থাকে) সোর্স রেপোতে এসভিএনসিএনসি কল যুক্ত করুন পোস্ট কমিট হুক যাতে আয়না সর্বদা আপ টু ডেট থাকে। (তবে এটি আয়নার হুকের বাইরে রাখুন যাতে আয়না নিজেই আয়নার চেষ্টা করে না!)
রবার্ট ক্যালহাউন

2

আপনার সাথে incrementals ব্যাকআপ করতে পারেন svnadmin তুমি যদি চাও, আপনি চালানো উচিত hot-backup.py আগে নিজে থেকেই আপনার টার আর্কাইভ করে।

এখানে svn repos ব্যাক আপ সম্পর্কে একটি নিবন্ধ । যাইহোক, এসভিএন বই পড়া আগে শুরু হিসাবে ভাল একটি সূচনা পয়েন্ট।


0

আমি বেশিরভাগ 100 জিবি + এসএনএন সংগ্রহস্থলকে সাদামাটা পুরানো আরএসসিএনসি সহ ব্যাকআপ করি। svnadmin dumpএবং svnadmin hotcopyএই সংগ্রহস্থলগুলিতে দিন লাগবে।

দেখার জন্য অন্য একটি জিনিস svnadmin dumpলক এবং হুক স্ক্রিপ্টগুলি ব্যাকআপ না করা।


-1

আমি আমার সংগ্রহস্থলগুলিতে যা করি তা এখানে: ড্রপবক্সের মতো ফোল্ডার ব্যাকআপ পরিষেবা ব্যবহার করুন ( তাদের লিনাক্স সংস্করণটির একটি লিঙ্ক এখানে )। আপনি কেবল ড্রপবক্সটিকে আপনার সংগ্রহস্থলের মূল (বা তার উপরেও) তৈরি করেছেন এবং প্রতিবার কোনও ফাইল পরিবর্তিত হলে এটি ব্যাক আপ হয়। এটি কেবল কম্পিউটারে উপলব্ধ হবে না, তবে আপনি এটি অনলাইনে অ্যাক্সেস করতে সক্ষম হবেন এবং এর সংস্করণও পাবেন।

এই জাতীয় বেশ কয়েকটি অনলাইন ব্যাকআপ পরিষেবাদি রয়েছে - বেশিরভাগ 2GB পর্যন্ত বিনামূল্যে।


1
এটি ছোট ব্যক্তিগত রেপোসের জন্য দুর্দান্ত, তবে পোস্টারটি সম্ভবত "সেরা উপায়" সন্ধান করছে। একটি সমস্যা হ'ল আপনি একাধিক বিকাশকারী দ্বারা সমবর্তী অ্যাক্সেসের সাথে সামঞ্জস্যতার গ্যারান্টি দিতে পারবেন না। ব্যাকআপের প্রাথমিক লক্ষ্যগুলি অনলাইন অ্যাক্সেস এবং সংস্করণগুলির পরিবর্তে নির্ভরযোগ্যতা এবং ধারাবাহিকতা হওয়া উচিত।
মার্টিজন হিমেলস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.