{"id":86904,"date":"2020-07-01T07:42:30","date_gmt":"2020-07-01T05:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud"},"modified":"2020-07-01T07:42:30","modified_gmt":"2020-07-01T05:42:30","slug":"kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","title":{"rendered":"Si GitLab ndihmon n\u00eb krijimin e backup-eve p\u00ebr depozita t\u00eb m\u00ebdha n\u00eb NextCloud","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje, Habr!<\/p>\n<p><\/p>\n<p>Sot \u00ebsht\u00eb fjala p\u00ebr p\u00ebrvoj\u00ebn ton\u00eb n\u00eb automatizimin e kopjimit t\u00eb t\u00eb dh\u00ebnave t\u00eb m\u00ebdha n\u00eb magazinat Nextcloud n\u00eb konfiguracione t\u00eb ndryshme. Un\u00eb punoj si CTO n\u00eb \"Mollia AK\", ku merremi me menaxhimin e konfigurations t\u00eb sistemeve IT, duke p\u00ebrdorur Nextcloud p\u00ebr ruajtjen e t\u00eb dh\u00ebnave. Kjo p\u00ebrfshin edhe nj\u00eb struktur\u00eb t\u00eb shp\u00ebrndar\u00eb me rezervim.<\/p>\n<p><\/p>\n<p>Problemet q\u00eb burojn\u00eb nga ve\u00e7orit\u00eb e instalimeve jan\u00eb se ka shum\u00eb t\u00eb dh\u00ebna. Versionimi q\u00eb ofron Nextcloud, ruajtja, arsyet subjektive dhe \u00e7\u00ebshtje t\u00eb tjera krijojn\u00eb shum\u00eb kopje t\u00eb tep\u00ebrta.<\/p>\n<p><\/p>\n<h2 id=\"predystoriya\">Pas historia<\/h2>\n<p><\/p>\n<p>Gjat\u00eb administrimit t\u00eb Nextcloud, ngushtohet problemi i organizimit t\u00eb nj\u00eb backup-i efikas, i cili duhet t\u00eb jet\u00eb patjet\u00ebr i koduar, pasi t\u00eb dh\u00ebnat jan\u00eb t\u00eb \u00e7muara.<\/p>\n<p><\/p>\n<p>Ne ofrojm\u00eb mund\u00ebsi ruajtjeje t\u00eb backup-it tek ne ose tek klienti n\u00eb makinat e tij t\u00eb ve\u00e7anta nga Nextcloud, q\u00eb k\u00ebrkon nj\u00eb qasje automatizimi fleksib\u00ebl n\u00eb administrim.<\/p>\n<p><\/p>\n<p>Ka shum\u00eb klient\u00eb, t\u00eb gjith\u00eb me konfiguracione t\u00eb ndryshme, dhe secili n\u00eb vendet e tij me ve\u00e7orit\u00eb e tij. K\u00ebtu, metodologjia standarde kur e gjith\u00eb plataforma \u00ebsht\u00eb e jotja dhe backup-et b\u00ebhen nga kroni, nuk p\u00ebrshtatet mir\u00eb.<\/p>\n<p><\/p>\n<p>Fillimisht, le t\u00eb shohim t\u00eb dh\u00ebnat e hyrjes. Na nevojitet:<\/p>\n<p><\/p>\n<ul>\n<li>Shtimi i kapacitetit p\u00ebr nj\u00eb nod\u00eb ose m\u00eb shum\u00eb. P\u00ebr instalime t\u00eb m\u00ebdha, ne p\u00ebrdorim minio si depo.<\/li>\n<li>T\u00eb njoftoheni p\u00ebr problemet me realizimin e backup-it.<\/li>\n<li>Duhet t\u00eb ruani backup n\u00eb klient\u00eb dhe\/apo n\u00eb ne.<\/li>\n<li>T\u00eb zgjidhni shpejt dhe leht\u00ebsisht problemet.<\/li>\n<li>Klient\u00ebt dhe instalimet dallojn\u00eb shum\u00eb nga nj\u00ebra-tjetra \u2014 nuk arrijm\u00eb dot nj\u00eb uniformitet.<\/li>\n<li>Shpejt\u00ebsia e rikuperimit duhet t\u00eb jet\u00eb minimale n\u00eb dy skenar\u00eb: rikuperim i plot\u00eb (katastrof\u00eb), nj\u00eb dosje \u2014 e fshir\u00eb aksidentalisht.<\/li>\n<li>Funksioni i dedupikimit \u00ebsht\u00eb i detyruesh\u00ebm.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Si GitLab ndihmon n\u00eb krijimin e backup-eve p\u00ebr depozita t\u00eb m\u00ebdha n\u00eb NextCloud\" src=\"\/wp-content\/uploads\/2020\/07\/1a0048e3295fef94ddca28e50612e3cb.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb menaxhuar backup-et, kemi integruar GitLab. M\u00eb shum\u00eb detaje m\u00eb von\u00eb. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Sigurisht, ne nuk jemi t\u00eb par\u00ebt q\u00eb zgjidhim nj\u00eb problem t\u00eb till\u00eb, por besojm\u00eb se p\u00ebrvoja jon\u00eb praktike e fituar me mundim mund t\u00eb jet\u00eb interesante dhe jemi t\u00eb gatsh\u00ebm ta ndajm\u00eb at\u00eb.<\/p>\n<p><\/p>\n<p>Duke qen\u00eb se n\u00eb kompanin\u00eb ton\u00eb praktikohet politika e opensource, k\u00ebrkuam nj\u00eb zgjidhje pik\u00ebrisht me kod t\u00eb hapur. N\u00eb t\u00eb nj\u00ebjt\u00ebn m\u00ebnyr\u00eb, ne ndajm\u00eb zhvillimet tona dhe i publikojm\u00eb. P\u00ebr shembull, n\u00eb GitHub ka <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/molnia-com\/nextcloud-safe-trash\">pluginin ton\u00eb p\u00ebr Nextcloud<\/a><\/noindex>, i cili e forcon ruajtjen e t\u00eb dh\u00ebnave n\u00eb rast t\u00eb fshirjes aksidentale ose q\u00ebllimisht.<\/p>\n<p><\/p>\n<h2 id=\"sredstva-bekapirovaniya\">Mjetet e backup-it<\/h2>\n<p><\/p>\n<p>K\u00ebrkimi i metodave t\u00eb zgjidhjes e filluam me zgjedhjen e nj\u00eb mjeti p\u00ebr krijimin e kopjeve rezerv\u00eb.<\/p>\n<p><\/p>\n<p>Tar i zakonsh\u00ebm + gzip funksionon keq \u2014 t\u00eb dh\u00ebnat rinovohen. Inkrementi shpesh p\u00ebrmban shum\u00eb pak ndryshime n\u00eb fakt, dhe pjesa m\u00eb e madhe e t\u00eb dh\u00ebnave brenda nj\u00eb skedari p\u00ebrs\u00ebritet.<br \/>\nKa edhe nj\u00eb problem tjet\u00ebr \u2014 tepricitet e ruajtjes s\u00eb shp\u00ebrndar\u00eb t\u00eb t\u00eb dh\u00ebnave. Ne p\u00ebrdorim minio dhe t\u00eb dh\u00ebnat e tij jan\u00eb n\u00eb thelb tepric\u00eb. Ose duhej t\u00eb b\u00ebnim kopje rezerv\u00eb p\u00ebrmes minio vet\u00eb \u2013 duke e ngarkuar at\u00eb dhe duke p\u00ebrdorur t\u00eb gjitha nd\u00ebrmjet\u00ebsit midis sistemit t\u00eb skedar\u00ebve, dhe \u00e7ka \u00ebsht\u00eb po aq e r\u00ebnd\u00ebsishme, ka rrezik t\u00eb harrohet nj\u00eb pjes\u00eb e baketeve dhe informacionit meta. Ose t\u00eb p\u00ebrdorim deduplication.<\/p>\n<p><\/p>\n<p>Mjetet p\u00ebr kopje rezerv\u00eb me deduplication jan\u00eb n\u00eb open source (n\u00eb Habr ishin <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/449282\/\">artikullit<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420055\/\">n\u00eb k\u00ebt\u00eb tem\u00eb<\/a><\/noindex>) dhe finalist\u00ebt tan\u00eb u b\u00ebn\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/borgbackup.readthedocs.io\/en\/stable\/\">Borg<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/restic.net\/\">Restic<\/a><\/noindex>. M\u00eb posht\u00eb do t\u00eb flasim p\u00ebr krahasimin e dy aplikacioneve, nd meanwhile do t\u00eb tregojm\u00eb se si e organizuam gjith\u00eb skem\u00ebn.<\/p>\n<p><\/p>\n<h2 id=\"upravlenie-sozdaniem-rezervnyh-kopiy\">Menaxhimi i krijimit t\u00eb kopjeve rezerv\u00eb<\/h2>\n<p><\/p>\n<p>Borg dhe Restic jan\u00eb t\u00eb mira, por asnj\u00eb nga produktet nuk ka nj\u00eb mekaniz\u00ebm t\u00eb centralizuar menaxhimi. P\u00ebr q\u00ebllimin e menaxhimit dhe kontrollit, ne zgjodh\u00ebm nj\u00eb mjet t\u00eb cilin e kemi tashm\u00eb t\u00eb implementuar, pa t\u00eb cilin nuk e imagjinonim pun\u00ebn ton\u00eb, p\u00ebrfshir\u00eb automatizimin \u2014 \u00ebsht\u00eb CI\/CD i njohur \u2013 GitLab.<\/p>\n<p><\/p>\n<p>Ideja \u00ebsht\u00eb si m\u00eb posht\u00eb: n\u00eb \u00e7do nod q\u00eb ruan t\u00eb dh\u00ebnat e Nextcloud vendoset gitlab-runner. Runner-i ekzekuton me nj\u00eb orar nj\u00eb skript q\u00eb monitoron procesin e backup-it, dhe ai aktivizon Borg ose Restic.<\/p>\n<p><\/p>\n<p>\u00c7far\u00eb mor\u00ebm? Kthim informacioni nga ekzekutimi, kontroll i leht\u00eb mbi ndryshimet, detaje n\u00eb rast gabimi.<\/p>\n<p><\/p>\n<p>K\u00ebtu \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/molnia-com\/backup-by-runner\">k\u00ebtu n\u00eb GitHub<\/a><\/noindex> ne kemi publikuar shembuj t\u00eb skripteve p\u00ebr detyra t\u00eb ndryshme, dhe ne p\u00ebrfundimisht e lidh\u00ebm at\u00eb me backup-in jo vet\u00ebm t\u00eb Nextcloud, por edhe t\u00eb shum\u00eb sh\u00ebrbimeve t\u00eb tjera. Po ashtu, aty \u00ebsht\u00eb edhe planifikuesi, n\u00ebse nuk e doni ta konfigurooni me dor\u00eb (dhe ne nuk e duam) dhe .gitlab-ci.yml<\/p>\n<p><\/p>\n<p>N\u00eb API-n\u00eb e GitLab-it, fatmir\u00ebsisht, nuk ka mund\u00ebsi p\u00ebr t\u00eb ndryshuar koh\u00ebn e pritjes CI\/CD, dhe ajo \u00ebsht\u00eb e vog\u00ebl. Duhet ta rrisim, le t\u00eb themi deri n\u00eb <code>1d<\/code>.<\/p>\n<p><\/p>\n<p>GitLab, fatmir\u00ebsisht, mund t\u00eb aktivizohet jo vet\u00ebm me commit, por edhe n\u00eb nj\u00eb orar, kjo \u00ebsht\u00eb pik\u00ebrisht ajo q\u00eb na nevojitet.<\/p>\n<p><\/p>\n<p>Tani p\u00ebr skriptin e mb\u00ebshtjell\u00ebs.<\/p>\n<p><\/p>\n<p>Ne vendos\u00ebm k\u00ebto kushte p\u00ebr k\u00ebt\u00eb skript:<\/p>\n<p><\/p>\n<ul>\n<li>Duhet t\u00eb ekzekutohet si nga runner-i, ashtu edhe manualisht nga konsola me funksionalitet t\u00eb nj\u00ebjt\u00eb.<\/li>\n<li>P\u00ebrve\u00e7 k\u00ebsaj, duhet t\u00eb ket\u00eb trajtues gabimesh:<\/li>\n<li>kodin e kthimit.<\/li>\n<li>k\u00ebrkimi i nj\u00eb linje n\u00eb log. P\u00ebr shembull, p\u00ebr ne, nj\u00eb mesazh q\u00eb programi nuk e konsideron fatal mund t\u00eb jet\u00eb nj\u00eb gabim.<\/li>\n<li>Trajtimi i timeout. Koha e ekzekutimit duhet t\u00eb jet\u00eb e arsyeshme.<\/li>\n<li>Na nevojitet nj\u00eb log shum\u00eb m\u00eb i detajuar. Por vet\u00ebm n\u00eb rast t\u00eb nj\u00eb gabimi.<\/li>\n<li>Po ashtu, kryhen nj\u00eb s\u00ebr\u00eb testesh para fillimit.<\/li>\n<li>Nj\u00eb disa shtesa t\u00eb vogla p\u00ebr leht\u00ebsin\u00eb, t\u00eb cilat i kemi gjetur t\u00eb dobishme gjat\u00eb mb\u00ebshtetjes:<\/li>\n<li>Fillimi dhe p\u00ebrfundimi regjistrohen n\u00eb skedarin e sistemit t\u00eb makin\u00ebs lokale. Kjo ndihmon p\u00ebr t\u00eb lidhur gabimet e sistemit me operimin e backup-it.<\/li>\n<li>Nj\u00eb pjes\u00eb e log-\u00ebve t\u00eb gabimeve, kur ato ekzistojn\u00eb, jepet n\u00eb stdout, e gjith\u00eb log-u shkruhet n\u00eb nj\u00eb skedar t\u00eb ve\u00e7ant\u00eb. E leht\u00eb p\u00ebr t\u00eb par\u00eb menj\u00ebher\u00eb n\u00eb CI dhe p\u00ebr t\u00eb vler\u00ebsuar gabimin n\u00ebse \u00ebsht\u00eb triviale.<\/li>\n<li>Modet p\u00ebr debagim.<\/li>\n<\/ul>\n<p><\/p>\n<p>Log-u i plot\u00eb ruhet si nj\u00eb artefakt n\u00eb GitLab, n\u00ebse nuk ka gabime, at\u00ebher\u00eb log-u fshihet. Skripti shkruhet n\u00eb bash.<\/p>\n<p><\/p>\n<p>\u00c7do propozim dhe v\u00ebrejtje mbi open-source do t\u00eb jemi t\u00eb lumtur t'i shqyrtojm\u00eb - mir\u00ebseerdh\u00ebt.<\/p>\n<p><\/p>\n<h2 id=\"kak-eto-rabotaet\">Si funksionon<\/h2>\n<p><\/p>\n<p>Nj\u00eb runner me ekzekutorin bash niset n\u00eb nod\u00ebn e backup-it. N\u00eb planifikuesin n\u00eb nj\u00eb rep t\u00eb ve\u00e7ant\u00eb niset nj\u00eb pun\u00eb CI\/CD. Runner-i e nis skriptin si nj\u00eb mbules\u00eb universale p\u00ebr k\u00ebto detyra, n\u00eb t\u00eb zhvillohen kontrolli i vlefshm\u00ebris\u00eb s\u00eb rep-it t\u00eb backup-it, pikave t\u00eb montimit dhe gjith\u00e7kaje q\u00eb duam, pastaj realizohet backup-i dhe pastrimi i t\u00eb vjetrave. Backup-i i gatsh\u00ebm d\u00ebrgohet n\u00eb S3.<\/p>\n<p><\/p>\n<p>Ne punojm\u00eb sipas k\u00ebsaj skeme - \u00ebsht\u00eb nj\u00eb ofrues i jasht\u00ebm AWS ose nj\u00eb analoge ruse (\u00ebsht\u00eb m\u00eb e shpejt\u00eb dhe t\u00eb dh\u00ebnat nuk largohen nga RF). Ose i vendosim klientit nj\u00eb klaster t\u00eb ve\u00e7ant\u00eb minio n\u00eb hap\u00ebsir\u00ebn e tij p\u00ebr k\u00ebto q\u00ebllime. N\u00eb p\u00ebrgjith\u00ebsi, e b\u00ebjm\u00eb k\u00ebt\u00eb p\u00ebr arsye sigurie, kur klienti nuk d\u00ebshiron aspak q\u00eb t\u00eb dh\u00ebnat t\u00eb dalin nga konturi i tij.<\/p>\n<p><\/p>\n<p>Ne nuk e p\u00ebrdorim ve\u00e7orin\u00eb e d\u00ebrgimit t\u00eb backup-it p\u00ebrmes ssh. Kjo nuk shton siguri, dhe kapacitetet rrjetore t\u00eb ofruesit S3 jan\u00eb shum\u00eb m\u00eb t\u00eb larta se sa nj\u00eb makin\u00eb ton\u00eb ssh.<\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb mbrojtur nga haker\u00ebt n\u00eb makin\u00eb lokale - pasi ai mund t\u00eb fshij\u00eb t\u00eb dh\u00ebnat n\u00eb S3, \u00ebsht\u00eb domosdoshm\u00ebrisht t\u00eb aktivizoni versionimin.<br \/>\nBackup-i gjithmon\u00eb e enkripton backup-in.<\/p>\n<p><\/p>\n<p>Borg ka nj\u00eb mod t\u00eb paedukuar <code>none<\/code>, por ne kategorikisht nuk e rekomandojm\u00eb aktivizimin e tij. N\u00eb k\u00ebt\u00eb mod nuk do t\u00eb ket\u00eb vet\u00ebm enkriptim, por as nuk llogaritet checksum-i i asaj q\u00eb shkruhet, k\u00ebshtu q\u00eb \u00ebsht\u00eb e mundur t\u00eb kontrolloni integritetin vet\u00ebm n\u00eb m\u00ebnyr\u00eb indirekte, n\u00ebp\u00ebrmjet indekseve.<\/p>\n<p><\/p>\n<p>Kontrolli i backup-eve p\u00ebr integritetin e indekseve dhe p\u00ebrmbajtjes b\u00ebhet p\u00ebrmes nj\u00eb programatori t\u00eb ve\u00e7ant\u00eb. Kontrolli ndodh ngadal\u00eb dhe gjat\u00eb, prandaj ne e aktivizojm\u00eb at\u00eb ve\u00e7mas nj\u00eb her\u00eb n\u00eb muaj. Mund t\u00eb zgjas\u00eb disa dit\u00eb.<\/p>\n<p><\/p>\n<h2 id=\"ridmi-na-russkom\">Lexo n\u00eb shqip<\/h2>\n<p><\/p>\n<h3 id=\"osnovnye-funkcii\">Funksionet kryesore<\/h3>\n<p><\/p>\n<ul>\n<li><code>prepare<\/code> p\u00ebrgatitja<\/li>\n<li><code>testcheck<\/code> kontrolli i gatishm\u00ebris\u00eb<\/li>\n<li><code>komand\u00eb e par\u00eb<\/code> komanda kryesore<\/li>\n<li><code>forcepostscript<\/code> funksioni q\u00eb ekzekutohet n\u00eb fund ose n\u00eb rast gabimi. P\u00ebrdoret p\u00ebr t\u00eb \u00e7montuar ndarjen.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"service-functions\">Funksionet e sh\u00ebrbimit<\/h3>\n<p><\/p>\n<ul>\n<li><code>cleanup<\/code> regjistrojm\u00eb gabimet ose fshijm\u00eb skedarin e log.<\/li>\n<li><code>kontrollilog<\/code> analizojm\u00eb logun p\u00ebr t\u00eb gjetur stringun me gabim.<\/li>\n<li><code>ret<\/code> menaxher i daljes.<\/li>\n<li><code>kontrollit t\u00eb koh\u00ebs<\/code> kontrolli p\u00ebr koh\u00ebzgjatjen.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"environment\">Mjedisi<\/h3>\n<p><\/p>\n<ul>\n<li><code>VERBOSE=1<\/code> shfaqim gabimet n\u00eb ekran menj\u00ebher\u00eb (stdout).<\/li>\n<li><code>SAVELOGSONSUCCES=1<\/code> ruajm\u00eb logun kur jemi t\u00eb suksessh\u00ebm.<\/li>\n<li><code>INIT_REPO_IF_NOT_EXIST=1<\/code> Krijojm\u00eb repository n\u00ebse nuk ka pasur. N\u00eb parazgjedhje \u00ebsht\u00eb e fikur.<\/li>\n<li><code>KOHA<\/code> koha maksimumi p\u00ebr operacionin kryesor. Mund ta vendosni si 'm', 'h' ose 'd' n\u00eb fund.<\/li>\n<\/ul>\n<p><\/p>\n<p>Rezi i ruajtjes s\u00eb kopjeve t\u00eb vjetra. N\u00eb parazgjedhje:<\/p>\n<p><\/p>\n<ul>\n<li><code>MBYLL_DITORE=7<\/code><\/li>\n<li><code>MBYLL_JAVORE=4<\/code><\/li>\n<li><code>MBYLL_MUAJORE=6<\/code><\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"peremennye-vnutri-skripta\">Variablat brenda skriptit<\/h2>\n<p><\/p>\n<ul>\n<li><code>ERROR_STRING<\/code> \u2014 string p\u00ebr kontrollin n\u00eb log p\u00ebr gabim.<\/li>\n<li><code>EXTRACT_ERROR_STRING<\/code> \u2014 shprehje p\u00ebr t\u00eb shfaqur stringun n\u00eb rast gabimi.<\/li>\n<li><code>KILL_TIMEOUT_SIGNAL<\/code> \u2014 sinjali p\u00ebr t\u00eb vrar\u00eb n\u00ebse ka kaluar koha.<\/li>\n<li><code>TAIL<\/code> \u2014 sa shum\u00eb stringje me gabime n\u00eb ekran.<\/li>\n<li><code>COLORMSG<\/code> \u2014 ngjyra e mesazhit (default e verdh\u00eb).<\/li>\n<\/ul>\n<p><\/p>\n<p>Skedari i quajtur wordpress, ka funksionin se b\u00ebn backup t\u00eb baz\u00ebs mysql. K\u00ebshtu mund t\u00eb p\u00ebrdoret p\u00ebr instalime t\u00eb p\u00ebrkohshme t\u00eb Nexcloud, ku gjithashtu mund t\u00eb b\u00ebhet backup i baz\u00ebs. Leht\u00ebsia nuk \u00ebsht\u00eb vet\u00ebm n\u00eb faktin se gjith\u00e7ka \u00ebsht\u00eb n\u00eb nj\u00eb vend, por edhe p\u00ebrmbajtja e baz\u00ebs \u00ebsht\u00eb e af\u00ebrt me p\u00ebrmbajtjen e skedar\u00ebve, pasi ndryshimi n\u00eb koh\u00eb \u00ebsht\u00eb minimal.<\/p>\n<p><\/p>\n<h2 id=\"restic-vs-borg\">Restic vs Borg<\/h2>\n<p><\/p>\n<p>Krahasimet midis Borg dhe Restic jan\u00eb gjithashtu <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/454734\/\">k\u00ebtu n\u00eb Habr<\/a><\/noindex>, dhe ne nuk e pat\u00ebm q\u00ebllim t\u00eb b\u00ebnim thjesht nj\u00eb tjet\u00ebr, por tonin ton\u00eb. Ishte e r\u00ebnd\u00ebsishme p\u00ebr ne se si do t\u00eb dukej n\u00eb t\u00eb dh\u00ebnat tona, me specifikat tona. Ne i paraqesim ato.<\/p>\n<p><\/p>\n<p>Kriteret tona p\u00ebrzgjedh\u00ebs, p\u00ebrve\u00e7 atyre t\u00eb p\u00ebrmendura m\u00eb par\u00eb (deduplication, rikuperim i shpejt\u00eb, etj.):<\/p>\n<p><\/p>\n<ul>\n<li>Q\u00ebndrueshm\u00ebria ndaj pun\u00ebs s\u00eb pap\u00ebrfunduar. Kontrolli n\u00eb kill -9.<\/li>\n<li>Madh\u00ebsia n\u00eb disk.<\/li>\n<li>K\u00ebrkesat p\u00ebr resurse (CPU, memorie).<\/li>\n<li>Madh\u00ebsia e blob-eve t\u00eb ruajtura.<\/li>\n<li>Puna me S3.<\/li>\n<li>Kontrolli i integritetit.<\/li>\n<\/ul>\n<p><\/p>\n<p>P\u00ebr testim, mor\u00ebm nj\u00eb klient me t\u00eb dh\u00ebna reale dhe nj\u00eb madh\u00ebsi totale prej 1.6TB.<br \/>\nKushtet.<\/p>\n<p><\/p>\n<p>Borg nuk di t\u00eb punoj\u00eb drejtp\u00ebrdrejt me S3, dhe ne e montuam si nj\u00eb disk fuse, p\u00ebrmes <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kahing\/goofys\">goofys<\/a><\/noindex>. Restic e d\u00ebrgonte drejtp\u00ebrdrejt n\u00eb S3.<\/p>\n<p><\/p>\n<p>Goofys punon shum\u00eb shpejt dhe mir\u00eb, dhe ka nj\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kahing\/catfs\">modul t\u00eb caches disk<\/a><\/noindex>, q\u00eb e acceleron edhe m\u00eb shum\u00eb funksionimin. Ai \u00ebsht\u00eb n\u00eb faz\u00ebn beta dhe, p\u00ebr ta pranuar, kemi pasur r\u00ebnie me humbje t\u00eb dh\u00ebnash n\u00eb testet (t\u00eb tjera). Por e mira \u00ebsht\u00eb se vet\u00eb procedura e backup-it nuk k\u00ebrkon lexim t\u00eb madh, kryesisht shkrim, ndaj ne p\u00ebrdorim vet\u00ebm cache gjat\u00eb verifikimit t\u00eb integritetit.<\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb reduktuar ndikimin e rrjetit, kemi p\u00ebrdorur nj\u00eb ofrues lokal - Yandex Cloud.<\/p>\n<p><\/p>\n<p>Rezultatet e testeve t\u00eb krahasimit.<\/p>\n<p><\/p>\n<ul>\n<li>Kill -9 me rinisjen e m\u00ebtejshme, t\u00eb dyja kaluan me sukses.<\/li>\n<li>Madh\u00ebsia n\u00eb disk. Borg mund t\u00eb kompresoj\u00eb, prandaj rezultatet jan\u00eb t\u00eb pritshme.<\/li>\n<\/ul>\n<p><\/p>\n<p>Backuper<br \/>\nMadh\u00ebsia<\/p>\n<p>Borg<br \/>\n562Gb<\/p>\n<p>Restic<br \/>\n628Gb<\/p>\n<p><\/p>\n<ul>\n<li>P\u00ebr CPU<br \/>\nBorg vet\u00eb konsumon pak, me kompresimin default, por duhet t\u00eb vler\u00ebsohet s\u00eb bashku me procesin goofys. N\u00eb t\u00ebr\u00ebsi jan\u00eb krahasues dhe ushqejn\u00eb rreth 1,2 b\u00ebrtham\u00eb n\u00eb t\u00eb nj\u00ebjt\u00ebn maqin\u00eb virtuale p\u00ebr testim.<\/li>\n<li>Memoria. Restic p\u00ebraf\u00ebrsisht 0,5Gb, Borg rreth 200Mb. Por kjo \u00ebsht\u00eb e par\u00ebnd\u00ebsishme krahasuar me cache-in e skedar\u00ebve t\u00eb sistemit. Pra, \u00ebsht\u00eb e d\u00ebshirueshme t\u00eb ndahen m\u00eb shum\u00eb memorje.<\/li>\n<li>Differenca n\u00eb madh\u00ebsin\u00eb e blob-ve u tregua e jasht\u00ebzakonshme.<\/li>\n<\/ul>\n<p><\/p>\n<p>Backuper<br \/>\nMadh\u00ebsia<\/p>\n<p>Borg<br \/>\nrreth 500Mb<\/p>\n<p>Restic<br \/>\nrreth 5Mb<\/p>\n<p><\/p>\n<ul>\n<li>Puna me S3 nga Restic \u00ebsht\u00eb e shk\u00eblqyer. Puna e Borg-it p\u00ebrmes goofys nuk ka probleme, por \u00ebsht\u00eb v\u00ebn\u00eb re se \u00ebsht\u00eb e d\u00ebshirueshme q\u00eb pas p\u00ebrfundimit t\u00eb kopjimit t\u00eb b\u00ebhet umount p\u00ebr t\u00eb resetuar plot\u00ebsisht cache-n\u00eb. Karakteristika e pun\u00ebs me S3 \u00ebsht\u00eb se copat e pamjaftueshme nuk do t\u00eb d\u00ebrgohen kurr\u00eb n\u00eb bucket, q\u00eb do t\u00eb thot\u00eb se t\u00eb dh\u00ebnat e pad\u00ebrguara plot\u00ebsisht \u00e7ojn\u00eb n\u00eb d\u00ebmtime t\u00eb m\u00ebdha.<\/li>\n<li>Kontrolli i integritetit funksionon mir\u00eb n\u00eb t\u00eb dyja rastet, por shpejt\u00ebsia ndryshon ndjesh\u00ebm.<br \/>\nRestic \u2013 <strong>3.5 or\u00eb<\/strong>.<br \/>\nBorg, me cache skedash 100GB SSD \u2013 <strong>5 or\u00eb<\/strong>.Rreth nj\u00eb rezultat t\u00eb ngjash\u00ebm p\u00ebr shpejt\u00ebsi n\u00ebse t\u00eb dh\u00ebnat ndodhen n\u00eb diskun lokal.<br \/>\nBorg lexon direkt nga S3 pa cache <strong>33 or\u00eb<\/strong>. E tmerrshme e gjat\u00eb.<\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00eb p\u00ebrfundim, Borg di t\u00eb comprimoj\u00eb dhe ka blob-e m\u00eb t\u00eb m\u00ebdha \u2014 q\u00eb e b\u00ebn ruajtjen dhe operacionet GET\/PUT n\u00eb S3 m\u00eb t\u00eb lira. Por p\u00ebr k\u00ebt\u00eb duhen paguar kontrolli m\u00eb i komplikuar dhe m\u00eb i ngadalsh\u00ebm. Sa i p\u00ebrket shpejt\u00ebsis\u00eb s\u00eb rikuperimit \u2014 nuk kemi v\u00ebn\u00eb re ndonj\u00eb ndryshim. Kopjimet e m\u00ebpasshme (pas t\u00eb par\u00ebs) restic i b\u00ebn disi m\u00eb gjat\u00eb, por jo ndjesh\u00ebm.<\/p>\n<p><\/p>\n<p>Pesha e komunitetit nuk ishte n\u00eb vend t\u00eb fundit n\u00eb zgjedhje.<\/p>\n<p><\/p>\n<p>Dhe ne zgjodh\u00ebm borg.<\/p>\n<p><\/p>\n<h2 id=\"paru-slov-o-szhatii\">Disa fjal\u00eb n\u00eb lidhje me kompresimin<\/h2>\n<p><\/p>\n<p>Borg ka nj\u00eb algorit\u00ebm t\u00eb mrekulluesh\u00ebm kompresimi t\u00eb ri - zstd. N\u00eb cil\u00ebsin\u00eb e kompresimit nuk \u00ebsht\u00eb m\u00eb i keq se gzip, por \u00ebsht\u00eb ndjesh\u00ebm m\u00eb i shpejt\u00eb. Dhe \u00ebsht\u00eb krahasues n\u00eb shpejt\u00ebsi me lz4-n\u00eb e paracaktuar.<\/p>\n<p><\/p>\n<p>P\u00ebr shembull, nj\u00eb dump i baz\u00ebs MySQL comprimon rreth dy her\u00eb m\u00eb mir\u00eb se lz4 me t\u00eb nj\u00ebjt\u00ebn shpejt\u00ebsi. Megjithat\u00eb, p\u00ebrvoja me t\u00eb dh\u00ebna reale tregon se ka nj\u00eb ndryshim shum\u00eb t\u00eb vog\u00ebl n\u00eb deg\u00ebzimin e nodit Nextcloud.<\/p>\n<p><\/p>\n<p>N\u00eb Borg ka nj\u00eb modifikim bonus t\u00eb kompresimit - n\u00ebse skedari ka entropi t\u00eb lart\u00eb, kompresimi nuk aplikohet fare, gj\u00eb q\u00eb rrit shpejt\u00ebsin\u00eb e funksionimit. Aktivizohet me opsionin gjat\u00eb krijimit.<br \/>\n<code>-C auto,zstd<\/code><br \/>\np\u00ebr algoritmin zstd.<br \/>\nTani, me k\u00ebt\u00eb opsion, n\u00eb krahasim me kompresimin e paracaktuar, ne mor\u00ebm<br \/>\n560Gb dhe 562Gb p\u00ebrkat\u00ebsisht. T\u00eb dh\u00ebnat nga shembulli m\u00eb sip\u00ebr, kujtoj, pa kompresim rezultati ishte 628Gb. Rezultati me diferenc\u00ebn prej 2Gb na befasoi pak, por vendos\u00ebm q\u00eb t\u00eb zgjidhim gjithsesi <code>auto,zstd.<\/code>.<\/p>\n<p><\/p>\n<h2 id=\"metodika-proverki-bekapa\">Metodika e verifikimit t\u00eb backup-it.<\/h2>\n<p><\/p>\n<p>P\u00ebrmes planifikuesit, nj\u00eb virtualizim nis direkt te ofruesi ose te klienti, gj\u00eb q\u00eb ul ndjesh\u00ebm ngarkes\u00ebn rrjetore. T\u00eb pakt\u00ebn \u00ebsht\u00eb m\u00eb e lir\u00eb se sa ta ngresh vet\u00eb dhe t\u00eb ushqesh trafik.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">goofys --cache \"--free:5%:\/mnt\/cache\" -o allow_other --endpoint https:\/\/storage.yandexcloud.net --file-mode=0666 --dir-mode=0777 xxxxxxx.com \/mnt\/goofys\nexport BORG_PASSCOMMAND=\"cat \/home\/borg\/.borg-passphrase\"\nborg list \/mnt\/goofys\/borg1\/\nborg check --debug -p --verify-data \/mnt\/goofys\/borg1\/<\/code><\/pre>\n<p><\/p>\n<p>Me t\u00eb nj\u00ebjt\u00ebn skem\u00eb ne kontrollojm\u00eb skedar\u00ebt me antivirus (post faktum). P\u00ebrdoruesit ngarkojn\u00eb t\u00eb ndryshme n\u00eb Nextcloud dhe jo t\u00eb gjith\u00eb kan\u00eb antivirus. T\u00eb kryesh verifikimin n\u00eb momentin e ngarkes\u00ebs merr shum\u00eb koh\u00eb dhe pengon biznesin.<\/p>\n<p><\/p>\n<p>Mund\u00ebsia p\u00ebr shkall\u00ebzim arrihet duke nisur runner-a n\u00eb node t\u00eb ndryshme me etiketa t\u00eb ndryshme.<br \/>\nN\u00eb monitorimin ton\u00eb mblidhen statuset e backup-eve p\u00ebrmes API-s\u00eb s\u00eb GitLab n\u00eb nj\u00eb dritare, dhe n\u00eb rast nevoja problemet njihen leht\u00ebsisht dhe po ashtu lokalizohen.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">P\u00ebrfundimi<\/h2>\n<p><\/p>\n<p>Si p\u00ebrfundim, ne e dim\u00eb sakt\u00ebsisht q\u00eb b\u00ebjm\u00eb backup-e, q\u00eb backup-et tona jan\u00eb valide, problemet q\u00eb lidhen me to k\u00ebrkojn\u00eb pak koh\u00eb dhe zgjidhen n\u00eb nivelin e administratorit t\u00eb sh\u00ebrbimit. Backup-et realisht marrin pak hap\u00ebsir\u00eb n\u00eb krahasim me tar.gz ose Bacula.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/508758\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86905,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86904","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a GitLab \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u044d\u043a\u0430\u043f\u044b \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 NextCloud | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-01T05:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-01T05:42:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Si ndihmon GitLab n\u00eb b\u00ebimin e kopjimeve rezerv\u00eb t\u00eb depozitave t\u00eb m\u00ebdha NextCloud | ProHoster","description":"P\u00ebrsh\u00ebndetje, Habr! Sot do t\u00eb doja t\u00eb flas p\u00ebr p\u00ebrvoj\u00ebn ton\u00eb n\u00eb automatizimin e kopjimeve rezerv\u00eb t\u00eb t\u00eb dh\u00ebnave t\u00eb m\u00ebdha n\u00eb depozitat Nextcloud n\u00eb konfiguracione t\u00eb ndryshme. Un\u00eb jam CTO n\u00eb \"Molliya AK\", ku merremi me menaxhimin e konfigurimeve t\u00eb sistemeve IT, dhe p\u00ebr ruajtjen e t\u00eb dh\u00ebnave p\u00ebrdorim Nextcloud. Nd\u00ebr t\u00eb tjera, me nj\u00eb struktur\u00eb t\u00eb shp\u00ebrndar\u00eb dhe rezervim. Problemet e shkaktuar nga karakteristikat e instalimeve jan\u00eb se ka shum\u00eb t\u00eb dh\u00ebna.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a GitLab \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u044d\u043a\u0430\u043f\u044b \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 NextCloud | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0430\u0448\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 Nextcloud \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0421\u0422\u041e \u0432 \u00ab\u041c\u043e\u043b\u043d\u0438\u044f \u0410\u041a\u00bb, \u0433\u0434\u0435 \u043c\u044b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c IT \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Nextcloud. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u0441 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u0435 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0439 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-gitlab-pomogaet-delat-bekapy-bolshih-hranilishh-nextcloud","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-01T05:42:30+00:00","article:modified_time":"2020-07-01T05:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86904","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:03:54","updated":"2022-10-06 09:05:46"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/86904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=86904"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/86904\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/86905"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=86904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=86904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=86904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}