በ hashget ምትኬዎችን በ99.5% ይቀንሱ

ሃሽጌት - ነፃ ፣ ክፍት ምንጭ ነው። ዲፕሊኬተር የመጠባበቂያ ቅጂዎችን መጠን በከፍተኛ ሁኔታ እንዲቀንሱ እንዲሁም ተጨማሪ እና ልዩነት የመጠባበቂያ እቅዶችን እና ሌሎችንም እንዲያደራጁ የሚያስችል ከማህደር ጋር ተመሳሳይነት ያለው መገልገያ ነው።

ይህ ባህሪያቱን የሚገልጽ አጠቃላይ እይታ ነው። ትክክለኛው የሃሽጌት አጠቃቀም (በጣም ቀላል) ውስጥ ተገልጿል README ፕሮጀክት እና የዊኪ ሰነድ.

ንጽጽር

እንደ ዘውግ ህግ ፣ ወዲያውኑ በሸፍጥ እጀምራለሁ - ውጤቱን በማነፃፀር

የውሂብ ናሙና
ያልታሸገ መጠን
.tar.gz
hashget.tar.gz

WordPress-5.1.1
43 ኤምባ
11 ሜባ (26%)
155 ኪባ ( 0.3% )

Linux kernel 5.0.4
934 ኤምባ
161 ሜባ (20%)
4.7 ሜባ ( 0.5% )

ዴቢያን 9 (LAMP) LXC ቪኤም
724 ኤምባ
165 ሜባ (23%)
4.1 ሜባ ( 0.5% )

ተስማሚ እና ውጤታማ ምትኬ ምን መሆን እንዳለበት ዳራ

አዲስ የተፈጠረ ቨርቹዋል ማሽን መጠባበቂያ ባደረግሁ ቁጥር አንድ ስህተት እየሰራሁ ነው በሚል ስሜት ይረብሸኝ ነበር። በዋጋ የማይተመን እና የማይጠፋ የፈጠራ ችሎታዬ ባለ አንድ መስመር ኢንዴክስ ነው።

ለምንድን ነው በእኔ ምትኬ ውስጥ 16 ሜባ / usr / sbin / mysqld አለ? በእውነቱ በዚህ ዓለም ውስጥ ይህንን አስፈላጊ ፋይል የማቆየት ክብር አለኝ ፣ እናም ካልተሳካልኝ በሰው ልጅ ላይ ይጠፋል? በጣም አይቀርም. እጅግ በጣም አስተማማኝ በሆኑ የዴቢያን አገልጋዮች (አስተማማኝነቱ እና የስራ ጊዜያቸው እኔ ማቅረብ ከምችለው ጋር ሊወዳደር አይችልም) እንዲሁም በሌሎች አስተዳዳሪዎች በመጠባበቂያ (በሚሊዮን የሚቆጠሩ) ውስጥ ተከማችቷል። አስተማማኝነትን ለማሻሻል ይህን አስፈላጊ ፋይል 10+ 000 ኛ ቅጂ መፍጠር አለብን?

በአጠቃላይ ሃሽጌት እና ይህንን ችግር ይፈታል. ሲታሸጉ በጣም ትንሽ ምትኬ ይፈጥራል። በማሸግ ጊዜ - ሙሉ በሙሉ ያልታሸገ ስርዓት, ከሆነ ምን እንደሚሆን ተመሳሳይ tar -c / tar -x. (በሌላ አነጋገር ይህ ኪሳራ የሌለው ማሸጊያ ነው)

ሃሽጌት እንዴት እንደሚሰራ

hashget የጥቅል እና የ HashPackage ፅንሰ-ሀሳቦች አሉት፣ በእነሱ እርዳታ ቅነሳን ያከናውናል።

ጥቅል (ፕላስቲክ ከረጢት). ደህንነቱ በተጠበቀ ሁኔታ ከበይነመረቡ ሊወርድ የሚችል እና አንድ ወይም ከዚያ በላይ ፋይሎች የሚገኙበት ፋይል (ብዙውን ጊዜ .deb ወይም .tar.gz ማህደር)።

HashPackage - ጥቅልን የሚወክል ትንሽ JSON ፋይል፣ ከሱ የተገኙ ፋይሎችን የጥቅል URL እና hash sums (sha256) ጨምሮ። ለምሳሌ፣ ለ 5 ሜጋባይት ማሪያድብ-ሰርቨር-ኮር ጥቅል፣ የሃሽ ፓኬጅ መጠኑ 6 ኪሎባይት ብቻ ነው። አንድ ሺህ ጊዜ ያህል ያነሰ.

ማባዛት። - የተባዙ ፋይሎች የሌሉበት ማህደር መፍጠር (አካፋው ዋናው ጥቅል የት እንደሚወርድ ካወቀ ከማህደሩ የተባዙ ቅጂዎችን ይቀንሳል)።

ማሸግ

በሚታሸጉበት ጊዜ ሁሉም በማውጫው ውስጥ የታሸጉ ፋይሎች ይቃኛሉ, የሃሽ ድምርዎቻቸው ይሰላሉ, እና ድምሩ ከታወቁት HashPackages ውስጥ በአንዱ ውስጥ ከተገኘ, ስለ ፋይሉ ሜታዳታ (ስም, ሃሽ, የመዳረሻ መብቶች, ወዘተ) ይቀመጣል. በልዩ ፋይል .hashget-restore.json፣ እሱም እንዲሁ በማህደሩ ውስጥ ይካተታል።

በቀላል ሁኔታ ፣ ማሸጊያው ራሱ ከታር የበለጠ የተወሳሰበ አይመስልም-

hashget -zf /tmp/mybackup.tar.gz --pack /path/to/data

ማራገፍ

ማሸግ በሁለት ደረጃዎች ይከናወናል. በመጀመሪያ የተለመደው ሬንጅ ማሸጊያ;

tar -xf mybackup.tar.gz -C /path/to/data

ከዚያ ከአውታረ መረቡ እነበረበት መልስ:

hashget -u /path/to/data

ወደነበረበት በሚመለስበት ጊዜ ሃሽጌት የ.hashget-restore.json ፋይልን ያነባል፣ አስፈላጊ የሆኑትን ፓኬጆች ያውርዳል፣ ያራግፋቸዋል፣ እና አስፈላጊዎቹን ፋይሎች በማውጣት በሚፈለገው ዱካዎች ከተፈለገው ባለቤት/ቡድን/ፍቃዶች ጋር።

የበለጠ አስቸጋሪ ነገሮች

ከዚህ በላይ የተገለፀው “እንደ ሬንጅ ለሚፈልጉ፣ ግን የእኔን ዴቢያን ወደ 4 ሜጋባይት ለማሸግ” በቂ ነው። በኋላ ይበልጥ ውስብስብ ነገሮችን እንይ።

መረጃ ጠቋሚ

ሃሽጌት አንድም HashPackage ከሌለው በቀላሉ ምንም ነገር ማባዛት አይችልም።

እንዲሁም HashPackage እራስዎ መፍጠር ይችላሉ (በቀላሉ፡- hashget --submit https://wordpress.org/wordpress-5.1.1.zip -p my), ግን የበለጠ ምቹ መንገድ አለ.

አስፈላጊውን የሃሽፓኬጅ ለማግኘት, ደረጃ አለ መረጃ ጠቋሚ (በራስ-ሰር በትእዛዙ ይከናወናል --pack) እና ሂዩሪስቲክስ. መረጃ ጠቋሚ በሚሰጥበት ጊዜ ሃሽጌት እያንዳንዱን ፋይል ለሚፈልጉ ሁሉም የሚገኙ ሂዩሪስቲክስ “ይመግባል። ሂዩሪስቲክስ HashPackage ለመፍጠር ማንኛውንም ጥቅል ሊያመለክት ይችላል።

ለምሳሌ፣ የዴቢያን ሂውሪስቲክ ፋይሉን/var/lib/dpkg/status ይወዳል እና የተጫኑ የዴቢያን ፓኬጆችን ያገኛል፣ እና መረጃ ጠቋሚ ካልሆኑ (ለእነሱ ምንም HashPackage የተፈጠረ የለም)፣ ያውርዱ እና ይጠቁማቸዋል። ውጤቱ በጣም ጥሩ ውጤት ነው - hashget ምንም እንኳን የቅርብ ጊዜ ጥቅሎች ቢኖራቸውም ሁልጊዜ የዴቢያን ስርዓተ ክወናዎችን በተሳካ ሁኔታ ያጠናቅቃሉ።

ፍንጭ ፋይሎች

አውታረ መረብዎ አንዳንድ የባለቤትነት ፓኬጆችዎን ወይም በሃሽጌት ሂዩሪስቲክስ ውስጥ ያልተካተተ የህዝብ ፓኬጅ የሚጠቀም ከሆነ እንደዚህ ያለ ቀላል hashget-hint.json ፍንጭ ፋይል ማከል ይችላሉ።

{
    "project": "wordpress.org",
    "url": "https://ru.wordpress.org/wordpress-5.1.1-ru_RU.zip"
}

በመቀጠል፣ ማህደር በተፈጠረ ቁጥር ጥቅሉ መረጃ ጠቋሚ (ከዚህ ቀደም ካልነበረ) እና የጥቅል ፋይሎቹ ከማህደሩ ይገለበጣሉ። ምንም ፕሮግራም አያስፈልግም, ሁሉም ነገር ከቪም ሊሰራ እና በእያንዳንዱ ምትኬ ማስቀመጥ ይቻላል. እባክዎን ለሃሽ ድምር አቀራረብ ምስጋና ይግባው ፣ ከጥቅሉ ውስጥ ያሉ አንዳንድ ፋይሎች በአገር ውስጥ ከተቀየሩ (ለምሳሌ ፣ የውቅር ፋይል ከተቀየረ) የተቀየሩት ፋይሎች “እንደነበረው” በማህደሩ ውስጥ ይቀመጣሉ እና አይቆረጡም።

አንዳንድ የራስዎ ጥቅሎች በየጊዜው ከተዘመኑ፣ ነገር ግን ለውጦቹ በጣም ትልቅ ካልሆኑ፣ ለዋና ስሪቶች ብቻ ፍንጭ መስጠት ይችላሉ። ለምሳሌ፣ በስሪት 1.0 ላይ ወደ mypackage-1.0.tar.gz የሚያመለክት ፍንጭ ሰጥተዋል፣ እና ሙሉ በሙሉ ተቀናሽ ይሆናል፣ ከዚያ ስሪት 1.1 አውጥተዋል፣ ይህም ትንሽ የተለየ ነው፣ ነገር ግን ፍንጩ አልተዘመነም። እሺ ይሁን. ከስሪት 1.0 ጋር የሚዛመዱ (ወደነበሩበት መመለስ የሚችሉት) ፋይሎች ብቻ የተባዙ ናቸው።

የፍንጭ ፋይልን የሚያካሂድ ሂዩሪስቲክስ ሂዩሪስቲክስ እንዴት እንደሚሰራ ውስጣዊ አሰራርን ለመረዳት ጥሩ ምሳሌ ነው። hashget-hint.json ፋይሎችን (ወይም .hashget-hint.jsonን በነጥብ) ብቻ ያስኬዳል እና ሌሎችን ሁሉ ችላ ይላል። ከዚህ ፋይል የትኛው የጥቅል ዩአርኤል መጠቆም እንዳለበት ይወስናል፣ እና ሃሽጌት ኢንዴክሱን (ያላደረገ ከሆነ)

ሃሽ አገልጋይ

ምትኬዎችን በሚፈጥሩበት ጊዜ ሙሉ መረጃ ጠቋሚን ማከናወን በጣም አድካሚ ነው። ይህንን ለማድረግ, እያንዳንዱን ጥቅል ማውረድ, ማሸግ እና ጠቋሚ ማድረግ ያስፈልግዎታል. ስለዚህ hashget ከ ጋር እቅድ ይጠቀማል ሃሽ አገልጋይ. የተጫነ የዴቢያን ፓኬጅ ሲገኝ በአካባቢው HashPackage ውስጥ ካልተገኘ መጀመሪያ HashPackageን ከሃሽ አገልጋዩ በቀላሉ ለማውረድ ይሞክራል። እና ይሄ ካልሰራ ብቻ ሃሽጌት እራሱ ጥቅሉን አውርዶ ሃሽ ማድረጉን (እና ወደ ሃሽሰርቨር ሰቅሎታል፣ ስለዚህም hashserver ወደፊት እንዲያቀርበው)።

HashServer የመርሃግብሩ አማራጭ አካል ነው እንጂ ወሳኝ አይደለም፣ የሚያገለግለው በማከማቻዎቹ ላይ ያለውን ጭነት ለማፋጠን እና ለመቀነስ ብቻ ነው። በቀላሉ ተሰናክሏል (አማራጭ --hashserver ያለ መለኪያዎች). በተጨማሪም, በቀላሉ ይችላሉ የእራስዎን hashserver ያድርጉ.

ተጨማሪ እና ልዩነት መጠባበቂያዎች, የታቀዱ ጊዜ ያለፈበት

ሃሽጌት ዲያግራም ለመሥራት በጣም ቀላል ያደርገዋል ተጨማሪ እና ልዩነት መጠባበቂያዎች. ለምንድነው የኛን ምትኬ ራሱ (ከሁሉም ልዩ ፋይሎቻችን ጋር) ኢንዴክስ አናደርግም? አንድ ቡድን --submit እና ጨርሰሃል! ሃሽጌት የሚፈጥረው ቀጣዩ ምትኬ ከዚህ ማህደር ፋይሎችን አያካትትም።

ግን ይህ በጣም ጥሩ አካሄድ አይደለም ፣ ምክንያቱም ወደነበረበት ሲመለሱ በታሪክ ውስጥ ያሉትን ሁሉንም የሃሽጌት መጠባበቂያዎች መሳብ አለብን (እያንዳንዱ ቢያንስ አንድ ልዩ ፋይል ካለው)። ለዚህ ዘዴ አለ የታቀዱ የመጠባበቂያዎች ጊዜ ያለፈበት. መረጃ ጠቋሚ በሚሰጡበት ጊዜ, HashPackage የሚያበቃበትን ቀን መግለጽ ይችላሉ --expires 2019-06-01, እና ከዚህ ቀን በኋላ (ከ 00:00) በኋላ ጥቅም ላይ አይውልም. ማህደሩ ራሱ ከዚህ ቀን በኋላ ሊሰረዝ አይችልም (ምንም እንኳን hashget በአሁኑ ጊዜ ወይም በማንኛውም ቀን የበሰበሱ/የሚበላሹትን የመጠባበቂያ ቅጂዎች ሁሉ ዩአርኤሎች በሚያመች ሁኔታ ሊያሳይ ቢችልም)።

ለምሳሌ፣ በ 1 ኛ ላይ ሙሉ ምትኬን ካደረግን እና እስከ ወሩ መጨረሻ ድረስ የህይወት ዘመንን ከጠቆምን፣ የተለየ የመጠባበቂያ እቅድ እናገኛለን።

አዲስ ምትኬዎችን በተመሳሳይ መንገድ ከጠቆምን ፣የእድገት ምትኬዎች እቅድ አለ።

ከተለምዷዊ ዕቅዶች በተለየ፣ hashget በርካታ መሰረታዊ ምንጮችን እንድትጠቀም ይፈቅድልሃል። መጠባበቂያው ከቀደምት መጠባበቂያዎች (ካለ) እና በሕዝብ ፋይሎች (ምን ማውረድ እንደሚቻል) በመቀነስ ሁለቱንም ይቀንሳል።

በሆነ ምክንያት የዴቢያን ሀብቶች አስተማማኝነት ካላመንን (https://snapshot.debian.org/ወይም ሌላ ማከፋፈያ እንጠቀማለን ፣ ሁሉንም ጥቅሎች ይዘን አንድ ጊዜ ሙሉ ምትኬን እንሰራለን እና ከዚያ በእሱ ላይ እንተማመን (ሂዩሪስቲክስን በማሰናከል). አሁን፣ ሁሉም የስርጭቶቻችን አገልጋዮች ለእኛ የማይገኙ ሆነው (በመስታወሻ በይነመረብ ወይም በዞምቢ አፖካሊፕስ ጊዜ)፣ ነገር ግን የእኛ ምትኬዎች በቅደም ተከተል ከሆኑ፣ በቀደሙት መጠባበቂያዎቻችን ላይ ብቻ ከሚወሰን ከማንኛውም አጭር የመጠባበቂያ ቅጂ ማገገም እንችላለን። .

Hashget በእርስዎ ውሳኔ በታመኑ የመልሶ ማግኛ ምንጮች ላይ ብቻ ነው የሚመረኮዘው። አስተማማኝ ናቸው ብለው የሚገምቷቸው ጥቅም ላይ ይውላሉ.

የፋይልፑል እና የበረዶ ግግር

መአከን ፋይል ፑል ጥቅሎችን ለማውረድ የውጭ አገልጋዮችን በቋሚነት እንዳያገኙ ይፈቅድልዎታል ፣ ግን ፓኬጆችን ከአካባቢው ማውጫ ወይም ከድርጅት አገልጋይ ይጠቀሙ ፣ ለምሳሌ-

$ hashget -u . --pool /tmp/pool

ወይም

$ hashget -u . --pool http://myhashdb.example.com/

በአከባቢ ማውጫ ውስጥ ገንዳ ለመስራት ፣ ማውጫ መፍጠር እና ፋይሎችን ወደ እሱ መጣል ብቻ ያስፈልግዎታል ፣ hashget ራሱ ሃሽዎችን በመጠቀም የሚፈልገውን ያገኛል። ገንዳውን በኤችቲቲፒ ተደራሽ ለማድረግ ልዩ በሆነ መንገድ ሲምሊንኮችን መፍጠር ያስፈልግዎታል ፣ ይህ የሚከናወነው በአንድ ትእዛዝ ነው (hashget-admin --build /var/www/html/hashdb/ --pool /tmp/pool). HTTP FilePool ራሱ የማይንቀሳቀስ ፋይሎች ነው፣ ስለዚህ ማንኛውም ቀላል የድር አገልጋይ ሊያገለግለው ይችላል፣ በአገልጋዩ ላይ ያለው ሸክም ዜሮ ነው።

ለፋይልፑል ምስጋና ይግባውና http(ዎች) ሃብቶችን እንደ መሰረታዊ መርጃዎች ብቻ ሳይሆን መጠቀምም ይችላሉ። ለምሳሌ፣ አማዞን የበረዶ ግግር

የመጠባበቂያ ቅጂውን ወደ የበረዶ ግግር ከሰቀልን በኋላ፣ የሰቀላ መታወቂያውን አግኝተን እንደ URL እንጠቀማለን። ለምሳሌ:

hashget --submit Glacier_Upload_ID --file /tmp/my-glacier-backup.tar.gz --project glacier --hashserver --expires 2019-09-01

አሁን አዲስ (የተለያዩ) መጠባበቂያዎች በዚህ ምትኬ ላይ ይመሰረታሉ እና አጭር ይሆናሉ። የዲስክ ባክአፕን ከከፈትን በኋላ በምን ሃብቶች ላይ እንደሚተማመን ማየት እንችላለን፡-

hashget --info /tmp/unpacked/ list

እና እነዚህን ሁሉ ፋይሎች ከግላሲየር ወደ ገንዳው ለማውረድ እና የተለመደውን መልሶ ማግኛ ለማስኬድ የሼል ስክሪፕት ብቻ ይጠቀሙ፡ hashget -u /tmp/unpacked —pool/tmp/pool

ጨዋታው ለሻማው ዋጋ አለው?

በጣም ቀላል በሆነ ሁኔታ ለመጠባበቂያ ቅጂዎች (በደመና ውስጥ የሆነ ቦታ ለገንዘብ ካከማቹ) በቀላሉ ይከፍላሉ. ምናልባት ብዙ፣ በጣም ያነሰ።

ግን ያ ብቻ አይደለም:: ብዛት ወደ ጥራት ይቀየራል። ወደ ምትኬ እቅድዎ ከፍተኛ ጥራት ያለው ማሻሻያ ለማግኘት ይህንን መጠቀም ይችላሉ። ለምሳሌ፣ የእኛ ምትኬ አሁን አጭር ስለሆነ፣ ወርሃዊ ሳይሆን ዕለታዊ ምትኬዎችን ማድረግ እንችላለን። እንደበፊቱ ለስድስት ወራት ሳይሆን ለ 5 ዓመታት ያከማቹ. ከዚህ ቀደም በዝግታ ግን ርካሽ በሆነ “ቀዝቃዛ” ማከማቻ (ግላሲየር) ውስጥ አከማችተውታል፣ አሁን በሙቅ ማከማቻ ውስጥ ማከማቸት ይችላሉ፣ከዚያም ሁልጊዜ ምትኬን በፍጥነት ማውረድ እና በአንድ ቀን ውስጥ ሳይሆን በደቂቃዎች ውስጥ ወደነበረበት መመለስ ይችላሉ።

የመጠባበቂያ ክምችት አስተማማኝነት መጨመር ይችላሉ. በአሁኑ ጊዜ በአንድ ማከማቻ ውስጥ ካስቀመጥናቸው የመጠባበቂያ ቅጂዎችን መጠን በመቀነስ ከ2-3 ማከማቻ ማከማቻዎች ውስጥ ማከማቸት እና አንዱ ከተጎዳ ያለምንም ህመም እንተርፋለን።

እንዴት መሞከር እና መጠቀም መጀመር?

ወደ gitlab ገጽ ይሂዱ https://gitlab.com/yaroslaff/hashget፣ በአንድ ትዕዛዝ ጫን (pip3 install hashget[plugins]) እና በፍጥነት ጅምር አንብብ እና አስፈጽም። ሁሉንም ቀላል ነገሮችን ለማድረግ ከ10-15 ደቂቃዎች ይወስዳል ብዬ አስባለሁ. ከዚያ ምናባዊ ማሽኖችዎን ለመጭመቅ መሞከር ይችላሉ ፣ አስፈላጊ ከሆነ ፍንጭ ፋይሎችን ያድርጉ መጭመቂያው የበለጠ ጠንካራ ለማድረግ ፣ በገንዳዎች ፣ በአከባቢ የሃሽ ዳታቤዝ እና ከፈለጉ በሃሽ አገልጋይ ይጫወቱ እና በሚቀጥለው ቀን የተጨማሪ መጠባበቂያው መጠን ምን ያህል እንደሆነ ይመልከቱ። ከትናንት በላይ ይሆናል።

ምንጭ: hab.com

አስተያየት ያክሉ