Eli linqaku lesishwankathelo ukuchaza iimpawu. Ukusetyenziswa kwangempela kwe-hashget (lula kakhulu) kuchazwe kuyo
The lekiswa
Ngokomthetho wohlobo, ndiza kuqalisa ngoko nangoko ngobuqhetseba- ndithelekisa iziphumo:
Isampulu yedatha
ubungakanani obungapakishwanga
.tar.gz
hashget.tar.gz
I-WordPress-5.1.1
43 Mb
11Mb (26%)
155 KB ( 0.3% )
Linux kernel 5.0.4
934 Mb
161Mb (20%)
4.7MB ( 0.5% )
Debian 9 (LAMP) LXC VM
724 Mb
165Mb (23%)
4.1MB ( 0.5% )
Imvelaphi yokuba kufuneka ibe yintoni i-backup efanelekileyo nesebenzayo
Ngalo lonke ixesha ndisenza i-backup yomatshini omtsha owenziweyo, ndandikhathazwa yimvakalelo yokuba ndenza into engalunganga. Kutheni ndifumana ugcino oluphezulu kwinkqubo, apho ubuchule bam obuxabisekileyo, obungonakaliyo buyi index.html yomgca omnye kunye nombhalo βMolo hlabathiβ?
Kutheni kukho i-16 MB /usr/sbin/mysqld kwi-backup yam? Ngaba ngokwenene kunokwenzeka ukuba kweli hlabathi ndinelungelo lokugcina le fayile ebalulekileyo, kwaye ukuba ndiyasilela, iya kulahleka kuluntu? Ngokunokwenzeka hayi. Igcinwe kwiiseva ezithembeke kakhulu ze-debian (ukuthembeka kunye nexesha elingenako ukuthelekiswa nento endinokukunika yona), kunye nakwii-backups (izigidi zazo) zabanye abalawuli. Ngaba ngokwenene kufuneka senze i-10 + 000 ikopi yale fayile ebalulekileyo ukuphucula ukuthembeka?
Ngokubanzi tar -c
/ tar -x
. (Ngamanye amazwi, oku kukupakishwa okungalahlekiyo)
Isebenza njani i-hashget
I-hashget ineengqikelelo zePackage kunye neHashPackage, ngoncedo lwayo yenza ukuphinda-phinda.
ipakethe (ibhegi yeplastikhi). Ifayile (idla ngokuba yi .deb okanye .tar.gz yogcino lwazi) enokhutshelwa ngokukhuselekileyo kwi-Intanethi, nalapho kunokufumaneka ifayile enye okanye ngaphezulu.
IHashPackage - ifayile encinci ye-JSON emele iPhakeji, kuquka i-URL yephakheji kunye ne-hash sums (sha256) yeefayile ezivela kuyo. Umzekelo, kwiphakheji ye-5 ye-megabyte ye-mariadb-server-core, ubungakanani be-hashpackage yi-6 kilobytes kuphela. Malunga newaka eliphindwe kabini ngaphantsi.
Ukunciphisa β ukwenza i-archive ngaphandle kweefayile eziphindwe kabini (ukuba i-deduplicator iyazi apho iphakheji yoqobo inokukhutshelwa khona, inciphisa iimpinda ezivela kwindawo yokugcina).
Ukupakishwa
Xa upakisha, zonke iifayile ezivela kulawulo olupakishwayo ziyaskenwa, iihashi zazo zibaliwe, kwaye ukuba isixa sifunyenwe kwenye yeeHashPackages ezaziwayo, ngoko imetadata malunga nefayile (igama, ihashi, amalungelo okufikelela, njl. njl.) kwifayile ekhethekileyo .hashget-restore.json, eya kufakwa kwakhona kwindawo yokugcina.
Kweyona meko ilula, ipakethe ngokwayo ayibonakali inzima kunetha:
hashget -zf /tmp/mybackup.tar.gz --pack /path/to/data
Kukhutshwa
Ukukhutshwa kwenziwa ngezigaba ezibini. Kuqala ukukhutshwa kwetha okuqhelekileyo:
tar -xf mybackup.tar.gz -C /path/to/data
emva koko buyisela kwinethiwekhi:
hashget -u /path/to/data
Xa ubuyisela, i-hashget ifunda ifayile .hashget-restore.json, ikhuphela iipakethe eziyimfuneko, ikhuphe, kwaye ikhuphe iifayile eziyimfuneko, ifake kwiindlela ezifunekayo, kunye nomnini / iqela / iimvume ezifunekayo.
Izinto ezinzima ngakumbi
Oku kuchazwe ngasentla sele kwanele kwabo "bayifunayo njenge tar, kodwa ukupakisha iDebian yam kwiimegabytes ezi-4." Makhe sijonge ezinye izinto ezintsonkothileyo kamva.
Isalathiso
Ukuba i-hashget ayinayo i-HashPackage enye kwaphela, ngekhe ikwazi ukuphinda-phinda nantoni na.
Unokwenza iHashPackage ngesandla (lula nje: hashget --submit https://wordpress.org/wordpress-5.1.1.zip -p my
), kodwa kukho indlela elula ngakumbi.
Ukuze ufumane i-hashpackage efunekayo, kukho isiteji isalathisi (iyazenzekela ngomyalelo --pack
) kunye i-heuristics. Xa isalathiso, i-hashget "ityisa" ifayile nganye efunyenweyo kuzo zonke ii-heuristics ezikhoyo ezinomdla kuyo. I-Heuristics inokuthi emva koko ibonise nayiphi na iPhakeji ukwenza iHashPackage.
Umzekelo, i-Debian heuristic iyayithanda ifayile /var/lib/dpkg/status kwaye ibona iipakethe zedebian ezifakiweyo, kwaye ukuba azikho indexed (akukho HashPackage eyenzelwe zona), ukukhuphela kunye nezalathiso kubo. Isiphumo sisiphumo esihle kakhulu - i-hashget iyakuhlala ikhupha ii-Debian OSes, nokuba zineepakethe zakutsha nje.
Iifayile zoluphawu
Ukuba umsebenzi womnatha wakho usebenzisa ezinye zeepakethe zakho zobunini okanye ipakethe kawonke-wonke engaqukwanga kwi-hashget heuristics, unokongeza ifayile elula ye-hashget-hint.json kuyo ngolu hlobo:
{
"project": "wordpress.org",
"url": "https://ru.wordpress.org/wordpress-5.1.1-ru_RU.zip"
}
Okulandelayo, ixesha ngalinye i-archive isenziwa, iphakheji iya kuba yi-indexed (ukuba ayizange ibe ngaphambili), kwaye iifayile zephakheji ziya kukhutshwa kwi-archive. Akukho nkqubo ifunekayo, yonke into inokwenziwa kwi-vim kwaye ugcine kuyo yonke i-backup. Nceda uqaphele ukuba ngokubonga kwindlela ye-hash sum, ukuba ezinye iifayile ezivela kwiphakheji zitshintshwa kwindawo yendawo (umzekelo, ifayile yoqwalaselo itshintshiwe), ngoko iifayile ezitshintshileyo ziya kugcinwa kwi-archive "njengokuba kunjalo" kwaye aziyi kuncitshiswa.
Ukuba ezinye iipakethe zakho zihlaziywa ngamaxesha athile, kodwa utshintsho alukhulu kakhulu, unokucebisa kuphela kwiinguqulelo ezinkulu. Umzekelo, kwinguqulo 1.0 benza ingcebiso ekhomba ku-mypackage-1.0.tar.gz, kwaye iya kukhutshwa ngokupheleleyo, emva koko bakhupha inguqulo 1.1, eyahluke kancinane, kodwa ingcebiso ayizange ihlaziywe. Kulungile. Kuphela ziifayili ezifanayo (ezinokubuyiselwa kuzo) inguqulelo 1.0 ezikhutshiweyo.
I-heuristic eyenza ifayile yengcebiso ngumzekelo omhle wokuqonda indlela yangaphakathi yendlela yokusebenza kwe-heuristics. Isebenza kuphela iifayile ze-hashget-hint.json (okanye .hashget-hint.json enechaphaza) kwaye ayihoyi zonke ezinye. Ukusuka kule fayile, imisela ukuba yeyiphi iphakheji ye-URL ekufuneka ifakwe kwisalathisi, kwaye izalathiso ze-hashget kuyo (ukuba ayikakwenzi njalo)
IHashServer
Kuya kuba nzima kakhulu ukwenza isalathisi esipheleleyo xa usenza ii-backups. Ukwenza oku, kufuneka ukhuphele ipakethe nganye, uyikhuphe, kwaye uyikhuphele. Ke ngoko i-hashget isebenzisa iskimu nge
I-HashServer yinto ekhethiweyo yeskimu, ayibalulekanga, isebenza kuphela ukukhawuleza nokunciphisa umthwalo kwiindawo zokugcina. Ikhubazeke ngokulula (ukhetho --hashserver
ngaphandle kweeparamitha). Ukongeza, unako lula
I-backups eyongeziweyo kunye neyohlukileyo, ukuphelelwa yisikhathi okucwangcisiweyo
--submit
kwaye ugqibile! Ugcino olulandelayo olwenziwa yi-hashget aluzuziquka iifayile ezisuka kolu gcino.
Kodwa oku akuyondlela ilungileyo kakhulu, kuba kunokuvela ukuba xa ubuyisela kuya kufuneka sitsale zonke ii-backups ze-hashget kwimbali yonke (ukuba nganye iqulethe ubuncinane ifayile eyodwa eyodwa). Kukho indlela yokwenza oku --expires 2019-06-01
, kwaye emva kwalo mhla (ukusuka 00:00), ayiyi kusetyenziswa. Uvimba ngokwawo awunakucinywa emva kwalo mhla (Nangona i-hashget inokubonisa ngokulula ii-URL zazo zonke ii-backups ezi/eziza kubola ngalo mzuzu okanye nangawuphi na umhla).
Umzekelo, ukuba senza i-backup epheleleyo ngomhla woku-1 kwaye sibonise ixesha lobomi de kube sekupheleni kwenyanga, siya kufumana iskimu sokulondoloza esahlukileyo.
Ukuba sifaka isalathiso kwii-backups ezintsha ngendlela efanayo, kuya kubakho isikimu sokunyuswa kwee-backups.
Ngokungafaniyo nezicwangciso zemveli, i-hashget ikuvumela ukuba usebenzise imithombo emininzi esisiseko. I-backup iya kuncitshiswa zombini ngokunciphisa iifayile kwii-backups zangaphambili (ukuba zikhona) kunye neefayile zoluntu (yintoni enokukhutshelwa).
Ukuba ngesizathu esithile asithembi ukuthembeka kwemithombo yeDebian (
IHashget ixhomekeke kuphela kwimithombo yokubuyisela ethembekileyo ngokubona kwakho. Ezo ucinga ukuba zithembekile ziya kusetyenziswa.
FilePool kunye neGlacier
Indlela
$ hashget -u . --pool /tmp/pool
okanye
$ hashget -u . --pool http://myhashdb.example.com/
Ukwenza idama kulawulo lwendawo, kufuneka nje udale ulawulo kwaye uphose iifayile kuyo, i-hashget ngokwayo iya kufumana into eyifunayo usebenzisa i-hashes. Ukwenza ichibi lifikeleleke nge-HTTP, kufuneka wenze ii-symlinks ngendlela ekhethekileyo; oku kwenziwa ngomyalelo omnye (hashget-admin --build /var/www/html/hashdb/ --pool /tmp/pool
). I-HTTP FilePool ngokwayo iifayili ezimileyo, ngoko ke nayiphi na iseva yewebhu elula inokuyisebenzisa, umthwalo kumncedisi uphantse ube ngu-zero.
Ndiyabulela kwiFayilePool, ungasebenzisa kuphela i-http (s) imithombo njengemithombo yesiseko, kodwa kwakhona
Emva kokulayisha i-backup kwi-glacier, sifumana i-ID yayo yokulayisha kwaye siyisebenzise njenge-URL. Umzekelo:
hashget --submit Glacier_Upload_ID --file /tmp/my-glacier-backup.tar.gz --project glacier --hashserver --expires 2019-09-01
Ngoku ii-backups ezintsha (ezahlukileyo) ziya kusekelwa kolu gcino kwaye ziya kuba mfutshane. Emva kokubeka itela yokukhupha i-diffbackup, sinokubona ukuba zeziphi izixhobo ezixhomekeke kuzo:
hashget --info /tmp/unpacked/ list
kwaye usebenzise nje iskripthi seqokobhe ukukhuphela zonke ezi fayile ukusuka kwiGlacier ukuya echibini kwaye usebenzise ukubuyisela okuqhelekileyo: hashget -u /tmp/unpacked -pool /tmp/pool
Ngaba umdlalo ulixabisa ikhandlela?
Kweyona meko ilula, uya kuhlawula ngokulula ii-backups (ukuba uzigcina kwindawo ethile efini ngemali). Mhlawumbi kakhulu, ngaphantsi.
Kodwa oko akukuphela kwento. Ubuninzi bujika bube bumgangatho. Ungasebenzisa oku ukufumana uphuculo olukumgangatho ophezulu kwisikimu sakho sogcino. Umzekelo, ekubeni ii-backups zethu ngoku zifutshane, asikwazi ukwenza ii-backups zenyanga, kodwa zemihla ngemihla. Ungazigcini iinyanga ezintandathu, njengangaphambili, kodwa iminyaka emi-5. Ngaphambili, uyigcine kwindawo epholileyo kodwa ephantsi "ebandayo" yokugcina (i-Glacier), ngoku ungayigcina kwindawo yokugcina eshushu, apho unokuhlala ukhuphela ngokukhawuleza i-backup kwaye uyibuyisele ngemizuzu, kungekhona ngosuku.
Unokwandisa ukuthembeka kogcino lokugcina. Ukuba ngoku sigcina kwindawo enye yokugcina, ngoko ngokunciphisa umthamo wee-backups, siya kukwazi ukuwagcina kwiindawo zokugcina ezi-2-3 kwaye siphile ngokungenabuhlungu ukuba omnye wabo wonakaliswa.
Ungazama njani kwaye uqale ukusebenzisa?
Yiya kwiphepha legitlab pip3 install hashget[plugins]
) kwaye funda kwaye uphumeze uqalise ngokukhawuleza. Ndicinga ukuba kuya kuthatha imizuzu eyi-10-15 ukwenza zonke izinto ezilula. Emva koko unokuzama ukucinezela oomatshini bakho benyani, wenze iifayile zoluphawu ukuba kuyimfuneko ukwenza ucinezelo lomelele, dlala ngamachibi, i-database ye-hash yendawo kunye nomncedisi we-hash ukuba unomdla, kwaye ngosuku olulandelayo ubone ukuba yintoni ubungakanani bokugcinwa kwe-backup. izakuba phezu kwezolo.
umthombo: www.habr.com