প্রশ্ন একটি ব্যাকআপ হাতিয়ার হিসাবে জিআইটি


সার্ভারে, জিট ইনস্টল করুন

cd /
git init
git add .
git commit -a -m "Yes, this is server"

তারপর পেতে /.git/ একটি নেটওয়ার্ক ড্রাইভ (SAN, NFS, Samba যাই হোক না কেন) বা বিভিন্ন ডিস্ক নির্দেশ করতে। পরিবর্তন আপডেট করার জন্য প্রতি ঘন্টা / দিন ইত্যাদি একটি cron কাজ ব্যবহার করুন। .Git ডিরেক্টরিতে সমস্ত সার্ভার ফাইলগুলির একটি সংস্করণযুক্ত কপি থাকবে (ব্যাস্ত / জটিলগুলি যেমন / proc, / dev ইত্যাদি বাদে)

কোনও গুরুত্বপূর্ণ ডেভেলপমেন্ট সার্ভারের জন্য যেখানে আমি সঠিক ব্যাকআপ সিস্টেমে এটি সেট আপ করার ঝামেলা / খরচ চাই না এবং ব্যাকআপগুলি কেবলমাত্র সুবিধার জন্য থাকবে (I.E. আমরা না প্রয়োজন এই সার্ভারটি ব্যাকআপ করার জন্য তবে কিছু ভুল হলে এটি কিছু সময় বাঁচাবে), এটি কি কোনও বৈধ ব্যাকআপ সমাধান হতে পারে নাকি এটি কেবল একটি বড় ধাঁধার মধ্যে পড়ে যাবে?


88
2017-12-15 12:10


উত্স


একই ধারণা ব্যবহার করে sparkleshare না ?? - B14D3
@ বি 14 ডি 3 আমার মনে হয় স্পার্কলেসার ড্রপবক্স টাইপ জিনিসটির মতো অনেক বেশি, কিন্তু আমি এটি দেখতে পাবো - Smudge
আপনি ঠিক আছেন, কিন্তু কিছুটা বেকআপ জিনিস তৈরি করার জন্য এটি গিট ব্যবহার করে (বিভিন্ন পিসি এবং ফাইলগুলির নিয়ন্ত্রণ সংস্করণগুলিতে অনুলিপি করা);) - B14D3
এর সাথে বড় সমস্যা হচ্ছে কোনও কেন্দ্রীয় নিয়ন্ত্রণ নেই - আপনার কোনও রক্ষণাবেক্ষণ বা ব্যাকআপ যাচাইকরণ পূর্বরূপ করার জন্য মেশিনে সরাসরি (ssh) অ্যাক্সেস থাকা দরকার। আমি সবসময় ব্যাক আপ করা বক্সগুলিতে একটি অ্যাপ্লিকেশন ইনস্টল করার পরে একটি কেন্দ্রীয় অবস্থান থেকে তাদের প্রশাসক একটি অনেক বড় জয়। - hafichuk
@ হাফিচুক পুতুল / শেফ মত সরঞ্জাম দিয়ে এটি একটি বড় সমস্যা নয়, কিন্তু আমি আপনার পয়েন্ট দেখতে। - Smudge


উত্তর:


আপনি একটি মূর্খ ব্যক্তি না। ব্যবহার git একটি ব্যাকআপ প্রক্রিয়া আকর্ষণীয় হতে পারে, এবং অন্যান্য লোকেরা কি বলেছে সত্ত্বেও, git বাইনারি ফাইল সঙ্গে ঠিক সূক্ষ্ম কাজ করে। পড়া গিট বুক থেকে এই পাতা এই বিষয়ে আরও তথ্যের জন্য। মূলত, থেকে git একটি ডেল্টা স্টোরেজ প্রক্রিয়া ব্যবহার করা হয় না, এটা সত্যিই যত্ন না কি আপনার ফাইলের মত চেহারা (কিন্তু ইউটিলিটি git diff একটি স্টক কনফিগারেশন সঙ্গে বাইনারি ফাইল জন্য বেশ কম)।

ব্যবহার সঙ্গে বৃহত্তম সমস্যা git ব্যাকআপের জন্য এটি অধিকাংশ ফাইল সিস্টেম মেটাডাটা সংরক্ষণ করে না। বিশেষ করে, git রেকর্ড করে না

  • ফাইল গ্রুপ
  • ফাইল মালিকদের
  • ফাইল অনুমতি ("এই এক্সিকিউটেবল" এর চেয়ে অন্য)
  • বর্ধিত বৈশিষ্ট্য

আপনি এই তথ্যটি আপনার সংগ্রহস্থলের মধ্যে স্পষ্টভাবে রেকর্ড করার জন্য সরঞ্জামগুলি লেখার মাধ্যমে সমাধান করতে পারেন, তবে এই অধিকারটি পেতে এটি চতুর হতে পারে।

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

etckeeper ব্যাক আপ করার জন্য উন্নত ছিল /etc এবং এই সমস্যা অনেক সমাধান।


78
2017-12-15 17:25



এসিএল / অনুমতি উল্লেখ করার জন্য +1 - Larry Silverman
Git এছাড়াও খালি ডিরেক্টরি সংরক্ষণ করে না। - Flimm
এবং এটি ইতিহাসের মাধ্যমে চলমান / পুনঃনামকরণ ফাইল ট্র্যাকিং জন্য sucks। - cregox
যেহেতু গিট বাইনারি ফাইলগুলির সাথে খুব ভালভাবে মোকাবিলা করে না, তাই আপনি এটিও দেখতে চাইতে পারেন গিট Annex, যে ভাল করতে সাহায্য করে। এটা কিছুটা হলেও কি গিট ধারণা পরিবর্তন করে, তবে। - Wouter Verhelst
আমার মতামত আপনি ব্যাকআপ তথ্য গিট ব্যবহার করতে পারেন কিন্তু সমগ্র সার্ভার নয় - EKanadily


আমি এটা ব্যবহার করে না, কিন্তু আপনি তাকান হতে পারে ইউনিভার্সিটি অব প্রফেশনালস যা জিট উপর ভিত্তি করে একটি ব্যাকআপ টুল।


20
2017-12-15 13:27



আগে bup দেখা যায় না, আকর্ষণীয় দেখায় - Smudge
আমি সম্প্রতি বুপ ব্যবহার শুরু করেছি, আমার হার্ড ড্রাইভ ক্র্যাশ হওয়ার মাত্র কয়েকদিন আগেই!) পুনরুদ্ধার করা ভাল হয়েছে তাই প্রস্তাবিত! - André Paramés
@ আন্দ্রেপামেসেস আপনি যা বলছেন তা হল, আপনি বুপ ইনস্টল করার পরেই আপনার হার্ড ড্রাইভ ক্র্যাশ হয়েছে ... mmmmhh ... :) শুধু মজা করছে - hofnarwillie


এটি একটি বৈধ ব্যাকআপ সমাধান হতে পারে, etckeeper এই ধারণা উপর ভিত্তি করে। কিন্তু একটি নজর রাখা .git ডিরেক্টরি অনুমতি অন্যথায় ধাক্কা /etc/shadow পাঠযোগ্য হতে পারে .git ডিরেক্টরি।


12
2017-12-15 12:18





টেকনিক্যালিভাবে আপনি এটি করতে পারলে আমি এটির বিরুদ্ধে দুটি ক্যাভিয়েট রাখব:

1, আপনি বাইনারি তথ্য জন্য একটি উত্স সংস্করণ নিয়ন্ত্রণ সিস্টেম ব্যবহার করছেন। আপনি এটির জন্য ডিজাইন করা হয়নি এমন কিছুর জন্য এটি ব্যবহার করছেন।

2, যদি আপনার একটি নতুন মেশিন নির্মাণের জন্য একটি প্রক্রিয়া (নথিভুক্তকরণ বা স্বয়ংক্রিয়) না থাকে তবে আমি আপনার বিকাশ প্রক্রিয়া সম্পর্কে চিন্তা করি। আপনি যদি একটি বাস কিনতে আঘাত পেয়েছেন কি, কে কি করতে হবে এবং কি গুরুত্বপূর্ণ ছিল জানতে হবে?

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


11
2017-12-15 13:45



ডেভেলপমেন্ট বক্সগুলি সবকটি Kickstart ফাইল থেকে আসে এবং প্রকৃতপক্ষে গড় বাক্সটি পুনঃনির্মাণের প্রায় 2 বা 3 মাস আগে চলতে থাকে। কিন্তু মানুষ কনফিগারেশন পরিবর্তন করে এবং কাজ করে, আমরা বাক্সগুলি আবার তৈরি করি এবং মানুষ বলে, "আরে, আমি জানি আমি এটি সোর্স নিয়ন্ত্রণে রাখিনি তবে আমার কাছে সেই বাক্সে কিছুটা শিট ছিল" এবং আমি তাদের বোকা হওয়ার জন্য হাসি। সব সময়, ভাল সময়। বাইনারি তথ্য একটি দুশ্চরিত্রা হবে, এটা ঝরনা যখন আমি সম্পূর্ণভাবে উপেক্ষা করা কিছু। - Smudge
আমি মৌলিক প্রিন্সিপাল অনুসরণ করতে ব্যর্থ যারা আপনার মনোভাব প্রশংসা করি। ব্যক্তিগতভাবে আমার কাছে আপনার কাছে একই রকম পরিস্থিতি রয়েছে, তবে আমার একটি গিট রিপোজিটরি রয়েছে যা সমস্ত কনফিগারেশন ফাইলগুলিতে লিঙ্কযুক্ত যা সমস্ত ধরার পরিবর্তে গুরুত্বপূর্ণ হতে পারে। প্লাস সেটআপ ধাপ সঙ্গে একটি txt ডক। - Phil Hannent
আমি মনে করি গিট বাইনারি ফাইলগুলির জন্য বেশ ভাল কাজ করে, গুগল অ্যান্ড্রয়েড এর রেপোর বাল্ক অংশটি প্রিবিল্ট এক্সিকিউটেবলগুলির গিট রিপোজিটরি। - user377178


আমি উইন্ডোজ সিস্টেমের জন্য ব্যাকআপ হিসাবে জিট ব্যবহার করি, এবং এটি অবিশ্বাস্যভাবে উপকারী। পোস্টের নীচে, আমি স্ক্রিপ্টগুলি দেখাই যা আমি উইন্ডোজ সিস্টেমে কনফিগার করার জন্য ব্যবহার করি। কোন সিস্টেমের জন্য ব্যাকআপ হিসাবে git ব্যবহার করে 2 বড় সুবিধা প্রদান করে:

  1. বাণিজ্যিক সমাধানগুলির বিপরীতে প্রায়ই তাদের নিজস্ব মালিকানা বিন্যাস ব্যবহার করে, আপনার ব্যাকআপ একটি ওপেন সোর্স ফর্ম্যাটে যা ব্যাপকভাবে সমর্থিত এবং খুব ভালভাবে নথিভুক্ত। এটি আপনাকে আপনার ডেটা সম্পূর্ণ নিয়ন্ত্রণ দেয়। কোন ফাইলগুলি পরিবর্তন হয়েছে এবং কখন তা দেখতে খুব সহজ। আপনি যদি আপনার ইতিহাসকে ছিনতাই করতে চান তবে আপনি এটিও করতে পারেন। আপনার ইতিহাস থেকে কিছু মুছে ফেলতে চান? সমস্যা নেই. আপনার ফাইলের একটি সংস্করণ ফিরে পাওয়ার যে কোন git কমান্ড হিসাবে সহজ।
  2. আপনি চান হিসাবে অনেক বা কয়েক আয়না হিসাবে, এবং সব ব্যাকআপ বার কাস্টমাইজ করতে পারেন। আপনি আপনার স্থানীয় আয়না পাবেন যা ধীরে ধীরে ইন্টারনেট ট্র্যাফিক দ্বারা আবদ্ধ হয় এবং এটি আপনাকে (1) সারা দিন ধরে আরও ঘন ঘন ব্যাকআপ করার ক্ষমতা এবং (2) দ্রুত পুনরুদ্ধারের সময় দেয়। (প্রায়শই ব্যাকআপগুলি একটি বিশাল প্লাস, কারণ আমি বেশিরভাগ সময় ব্যবহারকারীর ত্রুটির দ্বারা নষ্ট করে নই। উদাহরণস্বরূপ, আপনার বাচ্চাটি 5 ঘন্টার জন্য যে কোনও দস্তাবেজে কাজ করে যাচ্ছেন সেটি হঠাৎ করে ওভাররাইট করে।) তবে আপনি আপনার দূরবর্তী আয়না, যা একটি স্থানীয় দুর্যোগ বা চুরি ক্ষেত্রে তথ্য সুরক্ষা সুবিধা দেয়। এবং আপনি আপনার ইন্টারনেট ব্যান্ডউইথ সংরক্ষণ করার জন্য আপনার দূরবর্তী আয়না কাস্টমাইজড সময় ব্যাক আপ চান? সমস্যা নেই.

নিচের লাইন: একটি গিট ব্যাকআপ আপনার ব্যাকআপগুলি কীভাবে ঘটবে তা নিয়ন্ত্রণ করার জন্য আপনাকে অবিশ্বাস্য পরিমাণে ক্ষমতা দেয়।

আমি আমার উইন্ডোজ সিস্টেমে এই কনফিগার করা। প্রথম পদক্ষেপ হল স্থানীয় গিট রেপো তৈরি করা যেখানে আপনি আপনার সমস্ত স্থানীয় ডেটা সাবমিট করবেন। আমি একটি স্থানীয় দ্বিতীয় হার্ড ড্রাইভ ব্যবহার করার সুপারিশ করি, তবে একই হার্ডড্রাইভটি ব্যবহার করবে (তবে এটি প্রত্যাশিত যে আপনি এই কোথাও দূরবর্তী ধাক্কা দেবেন, নাকি হার্ডড্রাইভ মরে গেলে আপনার স্ক্রু করা হবে।)

আপনাকে প্রথমে সিগুইন (rsync সহ) ইনস্টল করতে হবে, এবং উইন্ডোজের জন্য গিট ইনস্টল করতে হবে: http://git-scm.com/download/win

পরবর্তী, আপনার স্থানীয় গিট রেপো তৈরি করুন (শুধুমাত্র একবার চালানো হবে):

Init-repo.bat:

@echo off
REM SCRIPT PURPOSE: CREATE YOUR LOCAL GIT-REPO (RUN ONLY ONCE)

REM Set where the git repository will be stored
SET GBKUP_LOCAL_MIRROR_HOME=E:\backup\mirror


REM Create the backup git repo. 
SET GIT_PARAMS=--git-dir=%GBKUP_LOCAL_MIRROR_HOME%\.git --work-tree=%GBKUP_LOCAL_MIRROR_HOME% 
mkdir %GBKUP_LOCAL_MIRROR_HOME%
git %GIT_PARAMS% init
git %GIT_PARAMS% config core.autocrlf false
git %GIT_PARAMS% config core.ignorecase false 
git %GIT_PARAMS% config core.fileMode false
git %GIT_PARAMS% config user.email backup@yourComputerName
git %GIT_PARAMS% config user.name backup

REM add a remote to the git repo.  Make sure you have set myRemoteServer in ~/.ssh/config   
REM The path on the remote server will vary.  Our remote server is a Windows machine running cygwin+ssh.  
REM For better security, you could install gitolite on the remote server, and forbid any non-fast-forward merges, and thus stop a malicious user from overwriting your backups.
git %GIT_PARAMS% remote add origin myRemoteServer:/cygdrive/c/backup/yourComputerName.git

REM treat all files as binary; so you don't have to worry about autocrlf changing your line endings
SET ATTRIBUTES_FILE=%GBKUP_LOCAL_MIRROR_HOME%\.git\info\attributes
echo.>> %ATTRIBUTES_FILE% 
echo *.gbkuptest text>> %ATTRIBUTES_FILE% 
echo * binary>> %ATTRIBUTES_FILE% 
REM compression is often a waste of time with binary files
echo * -delta>> %ATTRIBUTES_FILE% 
REM You may need to get rid of windows new lines. We use cygwin's tool
C:\cygwin64\bin\dos2unix %ATTRIBUTES_FILE%

পরবর্তীতে, আমাদের ব্যাকআপ স্ক্রিপ্ট মোড়ানো আছে, যা উইন্ডোজ নির্ধারণকারী দ্বারা নিয়মিত বলা হবে:

gbackup.vbs:

' A simple vbs wrapper to run your bat file in the background
Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "cmd /c C:\opt\gbackup\gbackup.bat"
oShell.Run strArgs, 0, false

পরবর্তীতে, আমাদের ব্যাকআপ স্ক্রিপ্টটি রয়েছে যা র্যাপার কল করে:

gbackup.bat:

    @echo off

REM Set where the git repository will be stored
SET GBKUP_LOCAL_MIRROR_HOME=E:\backup\mirror
REM the user which runs the scheduler
SET GBKUP_RUN_AS_USER=yourWindowsUserName
REM exclude file
SET GBKUP_EXCLUDE_FILE=/cygdrive/c/opt/gbackup/exclude-from.txt

SET GBKUP_TMP_GIT_DIR_NAME=git-renamed
for /f "delims=" %%i in ('C:\cygwin64\bin\cygpath %GBKUP_LOCAL_MIRROR_HOME%') do set GBKUP_LOCAL_MIRROR_CYGWIN=%%i

REM rename any .git directories as they were (see below command)
for /r %GBKUP_LOCAL_MIRROR_HOME% %%i in (%GBKUP_TMP_GIT_DIR_NAME%) do ren "%%i" ".git" 2> nul

SET RSYNC_CMD_BASE=C:\cygwin64\bin\rsync -ahv --progress --delete --exclude-from %GBKUP_EXCLUDE_FILE%

REM rsync all needed directories to local mirror
%RSYNC_CMD_BASE% /cygdrive/c/dev %GBKUP_LOCAL_MIRROR_CYGWIN%
%RSYNC_CMD_BASE% /cygdrive/c/Users/asmith %GBKUP_LOCAL_MIRROR_CYGWIN%
%RSYNC_CMD_BASE% /cygdrive/c/Users/bsmith %GBKUP_LOCAL_MIRROR_CYGWIN%

cacls %GBKUP_LOCAL_MIRROR_HOME% /t /e /p  %GBKUP_RUN_AS_USER%:f

REM rename any .git directories as git will ignore the entire directory, except the main one
for /r %GBKUP_LOCAL_MIRROR_HOME% %%i in (.git) do ren "%%i" "%GBKUP_TMP_GIT_DIR_NAME%" 2> nul
ren %GBKUP_LOCAL_MIRROR_HOME%\%GBKUP_TMP_GIT_DIR_NAME% .git

REM finally commit to git
SET GIT_PARAMS=--git-dir=%GBKUP_LOCAL_MIRROR_HOME%\.git --work-tree=%GBKUP_LOCAL_MIRROR_HOME% 
SET BKUP_LOG_FILE=%TMP%\git-backup.log
SET TO_LOG=1^>^> %BKUP_LOG_FILE% 2^>^&1
echo ===========================BACKUP START=========================== %TO_LOG%
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
echo %mydate%_%mytime% %TO_LOG%
echo updating git index, committing, and then pushing to remote %TO_LOG%
REM Caution: The --ignore-errors directive tells git to continue even if it can't access a file.
git %GIT_PARAMS% add -Av --ignore-errors %TO_LOG%
git %GIT_PARAMS% commit -m "backup" %TO_LOG%
git %GIT_PARAMS% push -vv --progress origin master %TO_LOG%
echo ===========================BACKUP END=========================== %TO_LOG%

আমরা exclude.txt ফাইল আছে, যেখানে আমরা সব ফাইল উপেক্ষা করা:

অগ্রাহ্য-from.txt:

target/
logs/
AppData/
Downloads/
trash/
temp/
.idea/
.m2/
.IntelliJIdea14/
OLD/
Searches/
Videos/
NTUSER.DAT*
ntuser.dat*

আপনাকে কোন রিমোট রেপোতে যেতে হবে এবং তাদের উপর একটি 'git init --bare' করতে হবে। আপনি ব্যাকআপ স্ক্রিপ্ট নির্বাহ করে স্ক্রিপ্টটি পরীক্ষা করতে পারেন। সবকিছু কাজ করে, উইন্ডোজ সিডিউলারে যান এবং ভিবিএস ফাইলের দিকে একটি ঘনঘন ব্যাকআপ নির্দেশ করুন। তারপরে, প্রতি ঘন্টায় আপনার কম্পিউটারের গিট ইতিহাস থাকবে। এটা অত্যন্ত সুবিধাজনক - প্রত্যেকটি ঘটনাক্রমে পাঠ্যের একটি বিভাগ মুছে ফেলবে এবং মিস করবেন? শুধু আপনার জিট রিপোজিটরি চেক করুন।


6
2018-03-21 17:10



শুধু অদ্ভুত - এটি কি ধীরে ধীরে বা নন-স্ট্যান্ডার্ড নেটওয়ার্ক ড্রাইভগুলির জন্যও কাজ করবে, যেমন নেটড্রাইভ বা এক্সপ্রেঞ্জিভ দ্বারা এমুলেটেড? আমি এই নেটওয়ার্ক ড্রাইভের সাথে ব্যর্থ অধিকাংশ ব্যাকআপ সফটওয়্যার খুঁজে। এছাড়াও জিনিসগুলি বেদনাদায়কভাবে ধীর হয়ে যায় এবং সময়-বারে থাকে, যদি আমি ব্যাকআপের সমস্ত ফাইল তালিকাবদ্ধ করতে এবং পৃথক ফাইলগুলি সরিয়ে ফেলতে চাই। Git এই সমস্যা সমাধানের জন্য সক্ষম? - JustAMartin
@ জাস্টমার্টিন আমি নেটওয়ার্ক ড্রাইভে এটি পরীক্ষা করে নিই, তাই আমি বলতে পারছি না। একবার আপনি একটি গিট রেপোতে ফাইলগুলি পেতে গেলে, গিটটি খুব কার্যকর। - user64141


আচ্ছা এটি একটি খারাপ ধারণা নয়, তবে আমার মনে হয় ২ টি লাল পতাকা উত্থাপিত হবে:

  • হার্ডডিস্ক ব্যর্থ হলে, আপনি যদি অন্য কোনও সার্ভার / ড্রাইভে আপনার প্রতিশ্রুতি না চাপালে সবকিছু হারাবেন। (ইভেন্টটি যদি আপনার জন্য একটি পরিকল্পনা থাকে তবে আমি উল্লেখ করতে পছন্দ করি।)

... কিন্তু এখনও, এটি দুর্নীতি সম্পর্কিত বিষয়গুলির জন্য একটি ভাল ব্যাকআপ হতে পারে। অথবা আপনি বলেন, যদি। গিট / ফোল্ডার অন্য কোথাও হয়।

  • এই ব্যাকআপ সর্বদা আকার বৃদ্ধি হবে। ডিফল্টভাবে কোন pruning বা ঘূর্ণন বা কিছু নেই।

... তাই আপনাকে ট্যাগ যুক্ত করতে আপনার ক্রোজোজ বলার দরকার হতে পারে, এবং তারপরে নিশ্চিত করুন যে ট্যাগটি ট্যাগ করা হয়নি সেগুলি পরিষ্কার করা হবে।


4
2017-12-15 13:40



আমরা সম্ভবত দূরবর্তী সার্ভারে .git ডিরেক্টরিটি মাউন্ট করব, যদিও ক্ল্যাসিক rm -Rf / আমাদের কিছু বিষয় হতে হবে। আমাদের বর্তমান ব্যাকআপ সিস্টেম 2 বছর বা 50 সংস্করণ (যা শেষ হবে) জন্য স্টাফ রাখে তাই আমাদের ব্যাকআপ ক্রমাগত যাইহোক ক্রমবর্ধমান হয়। কিন্তু আমি ট্যাগ যোগ করার ধারণা পছন্দ করি, আমরা "দৈনিক", "সাপ্তাহিক" ইত্যাদি ট্যাগ থাকতে পারি - Smudge
কখনও ক্রমবর্ধমান স্থান প্রয়োজনীয়তা জন্য +1 - hafichuk
@ স্যাম গিট সর্বদা ক্রমবর্ধমান হয়। আপনি এন বছরের চেয়ে পুরোনো ইতিহাস ছত্রভঙ্গ করতে পারেন। আমি আপনার বর্তমান সিস্টেম অনুমান। - rds
আকার বৃদ্ধি সংক্রান্ত, নিয়মিত 'git gc' করুন অথবা আপনি অন্য (কেন্দ্রীয়) সার্ভারে ধাক্কা দেওয়ার আগে। এই ছাড়া গিট রেপো (অনেক) এটি চেয়ে বড় হতে পারে। আমি একবার 346 মেগাবাইট গিট রেপো 16 এমবি পর্যন্ত সঙ্কুচিত করতে পারে। - Hendy Irawan


আমি একটি সম্পূর্ণ সিস্টেম দিয়ে এটি চেষ্টা করে নি কিন্তু আমি এটি আমার মাইএসকিউএল ব্যাকআপগুলির জন্য ব্যবহার করছি (স্কিপিপ-বর্ধিত-সন্নিবেশ বিকল্প সহ) এবং এটি সত্যিই আমার জন্য ভাল কাজ করেছে।

আপনি বাইনারি ডেটা ফাইলগুলির সাথে সমস্যা চালাতে যাচ্ছেন (তাদের সম্পূর্ণ সামগ্রীগুলি পরিবর্তন করতে পারে এবং পরিবর্তন করবে) এবং আপনার সমস্যা হতে পারে .git ফোল্ডার সত্যিই বড় হচ্ছে। আমি একটি সেট আপ সুপারিশ করবে .gitignore ফাইল এবং শুধুমাত্র আপনি ব্যাকআপ ফাইল ব্যাক আপ যে আপনি সত্যিই জানেন প্রয়োজন।


3
2017-12-15 13:23



আমি মাইএসকিউএল ব্যাকআপের জন্যও এটি ব্যবহার করছি, --extended- insert = false। প্রতিশ্রুতিবদ্ধ পরে নিয়মিত বা ডান "git জিসি" নিশ্চিত করুন। - Hendy Irawan
দেখ Git একটি মাইএসকিউএল ডাটাবেস ব্যাক আপ একটি ভাল ধারণা? - Michael Hampton♦


আমি একবার devversion উপর ভিত্তি করে একটি ব্যাকআপ সমাধান বিকাশ। এটি বেশ ভাল কাজ করে (এবং গিট আরও ভাল কাজ করা উচিত), আমি এখানে ভাল সমাধান আছে মনে হয়।

আমি বিবেচনা করি rsnapshot ভাল এক হতে - যদি না দ্য উত্তম. কঠোর লিঙ্কে ভাল ব্যবহার করে আমার কাছে 300 জিবি ফাইলারভার রয়েছে (অর্ধ মিলিয়ন ফাইল সহ) প্রতিদিন, সাপ্তাহিক এবং মন্টি ব্যাকআপ এক বছর পর্যন্ত ফিরে যাচ্ছে। মোট ব্যবহৃত ডিস্ক স্থান শুধুমাত্র একটি সম্পূর্ণ কপি + প্রতিটি ব্যাকআপ এর ক্রমবর্ধমান অংশ, কিন্তু হার্ডলিঙ্ক ধন্যবাদ আমি একটি আছে সম্পূর্ণ ব্যাকআপ প্রতিটি "লাইভ" ডিরেক্টরি গঠন। অন্য কথায়, ফাইল কেবলমাত্র দৈনিক 3.0 (অতি সাম্প্রতিক ব্যাকআপ) এর অধীনে সরাসরি অ্যাক্সেসযোগ্য, এমনকি দৈনিক .1 (ইস্টার্ড) বা সাপ্তাহিক ২ (দুই সপ্তাহ আগে) -এও সরাসরি অ্যাক্সেসযোগ্য।

সাম্বার সাথে ব্যাকআপ ফোল্ডারটি পুনঃভাগ করা, আমার ব্যবহারকারীরা কেবল ব্যাকআপ সার্ভারে তাদের পিসি নির্দেশ করে ব্যাকআপগুলি থেকে ফাইলটি টেনে আনতে সক্ষম।

আরেকটি খুব ভাল বিকল্প rdiff ব্যাকআপ, তবে এক্সপ্লোরারকে \\ servername এ সহজেই কেবল ফাইলগুলি অ্যাক্সেসযোগ্য করতে চাইলে, rsnapshot আমার জন্য একটি ভাল সমাধান ছিল।


3
2018-03-21 20:01



Rdiff-backup এর সর্বশেষ সংস্করণটি ২009 সাল থেকে। এটি কি খুব ভালভাবে ডিজাইন করা হয়েছে এবং কোনও আপডেট নেই এবং এটি কেবল একটি পরিত্যক্ত প্রকল্প? - Mateusz Konieczny
আমি এটা maitained কিনা জানি না, কিন্তু এটি মূলত "সম্পন্ন" হয়। - shodanshok
এ খুঁজছেন থেকে savannah.nongnu.org/bugs/... ২015 সালের হিসাবে কিছু কার্যকলাপ ছিল বলে মনে হচ্ছে তবে অনেক বাগ রিপোর্ট উপেক্ষা করা হয়। আমি একটি পরিত্যক্ত হিসাবে এটি শ্রেণীবদ্ধ করা হবে মনে হয়। - Mateusz Konieczny


আমি গিট সঙ্গে ব্যাকআপ একই ধারণা ছিল, মূলত কারণ এটি সংস্করণ ব্যাকআপ অনুমতি দেয়। তারপর আমি দেখেছি rdiff ব্যাকআপ, যা কার্যকারিতা প্রদান করে (এবং আরো অনেক কিছু)। এটি একটি সত্যিই চমৎকার ইউজার ইন্টারফেস আছে (সিএলআই অপশন দেখুন)। আমি যে সাথে বেশ খুশি। দ্য --remove-older-than 2W বেশ শান্ত। এটি আপনাকে 2 সপ্তাহের পুরোনো সংস্করণগুলি মুছে ফেলতে দেয়। rdiff-backup ফাইল শুধুমাত্র diffs সঞ্চয়।


2
2017-12-15 18:07





আমি গিট অত্যন্ত নতুন, কিন্তু ডিফল্টরূপে স্থানীয় শাখা না, এবং স্পষ্টভাবে রিমোট রিপোজিটরিতে ধাক্কা করা আবশ্যক? এটি একটি অপ্রীতিকর এবং অপ্রত্যাশিত অবাক ছিল। সব পরে, আমি চাই না সব আমার স্থানীয় repo সার্ভারে 'ব্যাক আপ' হতে হবে? পড়া গিট বই:

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

আমার কাছে এই যে স্থানীয় স্থানীয় শাখাগুলি, আমার স্থানীয় মেশিনে অন্যান্য নন-জিট ফাইলগুলির মতো, কিছু অ-গিট উপায়ে নিয়মিত ব্যাক আপ না হওয়া পর্যন্ত হারিয়ে যাওয়া ঝুঁকিপূর্ণ। আমি যাইহোক এই কাজ, কিন্তু আমার repo মধ্যে গিট 'সবকিছু ব্যাক আপ' সম্পর্কে আমার ধারনা ভেঙ্গে। আমি এই উপর স্পষ্টতা চাই!


2
2018-03-06 13:22



Remotes ব্যতিক্রম সঙ্গে গিট সম্পর্কে বেশ অনেক কিছুই স্থানীয়। যে নকশা দ্বারা হয়। আপনি রিমোটগুলিতে জিনিসগুলিকে ধাক্কা দিতে পারেন এবং বিশেষ করে যদি এই দৃশ্যকল্প হিসাবে ব্যাকআপের জন্য ব্যবহার করা উচিত। শাখাগুলির জন্য, আবার, হ্যাঁ, যদি আপনি তাদের রিমোট যুক্ত করতে চান তবে স্পষ্টভাবে তাদের ধাক্কা দিতে হবে। বিকাশের জন্য, এটি দুর্দান্ত কারণ প্রায়ই আপনি কিছু পরীক্ষা করতে চান, তবে সেই পরীক্ষার শাখাকে অনির্দিষ্টকালের জন্য সংরক্ষণ করার প্রয়োজন নেই। একবার আপনার কাছ থেকে কী প্রয়োজন তা একবারে, সম্ভবত আপনি এটি একটি dev শাখায় মার্জ করতে এবং পরীক্ষা শাখাটি ডেল করতে চলেছেন। - LocalPCGuy


আমি এই আমার দেবদূতদের জন্য একটি ভাল পদ্ধতি হতে পাওয়া। এটি তাদের এমন কিছু হতে পরিবর্তন করে যা কেবলমাত্র একটি স্থাপনার শেষ বিন্দুতে ব্যাক আপ করতে হবে।

সহজ কনফিগারেশন এবং কনফিগারেশন আপডেটের জন্য অনুমতি দেওয়া, সমস্ত কনফিগারেশন এবং প্যাকেজ ইনস্টলেশন manifestif পুতুল মধ্যে সংরক্ষিত হয়। Puppet ডিরেক্টরি গিট সঙ্গে ব্যাক আপ করা হয়। Kickstart প্রাথমিক স্থাপনার জন্য ব্যবহৃত হয়।

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


1
2017-12-15 14:47