{"id":1,"date":"2018-03-25T07:50:23","date_gmt":"2018-03-25T07:50:23","guid":{"rendered":"https:\/\/www.newth.net\/eirik\/?p=1"},"modified":"2018-04-06T07:18:37","modified_gmt":"2018-04-06T07:18:37","slug":"hello-world","status":"publish","type":"post","link":"https:\/\/www.newth.net\/eirik\/2018\/03\/25\/hello-world\/","title":{"rendered":"N\u00e5r WordPress-backup svikter deg"},"content":{"rendered":"<p><strong>Blogger du med WordPress kan du ikke v\u00e6re trygg p\u00e5 at backup-fila fungerer etter f.eks. et hackerangrep. Her en oppskrift.<\/strong><!--more--><\/p>\n<p>De siste ukene har det skjedd rare ting i denne bloggen. Systemet er blitt utsatt for en massiv p\u00e5loggingskampanje, fulgt av mange uforklarlige meldinger om endringer i systemet mitt at jeg ikke lenger turte \u00e5 la det fortsette slik. Derfor slettet jeg blogginstallasjonen, installerte WordPress p\u00e5 nytt og begynte p\u00e5 arbeidet med \u00e5 gjenopprette innholdet fra backup. Jeg har alltid v\u00e6rt p\u00e5passelig med \u00e5 ta regelmessige sikkerhetskopier og lagre dem p\u00e5 et trygt sted, s\u00e5 jeg regnet ikke med at backupfila som WordPress genererer ville gi meg problemer.<\/p>\n<p>Men det gjorde den til gagns. Importfunksjonen kr\u00e6sjet s\u00e5 snart fila var lastet inn, og ga bare en lite informativ feilmelding. Jeg hadde mange backupfiler (jeg tar selvsagt vare p\u00e5 tidligere versjoner ogs\u00e5!), og alle ga det samme resultatet. Av det trakk jeg slutningen at det neppe handlet om at fila var \u00f8delagt, men at problemet var serverrelatert. Jeg oppdaget snart at jeg ikke var alene. Riktignok er problemet ikke veldig utbredt, men det ser ut til \u00e5 skapt problemer for \u00e9n bestemt kategori med WordPress-brukere i \u00e5revis: Vi som har store backupfiler.<\/p>\n<p>&nbsp;<\/p>\n<h2>2 MB en magisk grense<\/h2>\n<p>Jeg begynte \u00e5 blogge i 2003, og siden det ikke fantes sosiale medier den gang var jeg en ivrig blogger. I \u00e5revis kom det minst en posting om dagen, og mange av dem var rike p\u00e5 tekst. Resultat: Min backupfil er n\u00e5 p\u00e5 rundt 28 MB. Det h\u00f8res ikke s\u00e5 mye ut, og er det heller ikke med tanke p\u00e5 at bilder i bloggen ikke sikkerhetskopieres (du m\u00e5 alts\u00e5 ha en egen backuprutine for dem!) Men\u00a0<a href=\"https:\/\/tjkelly.com\/blog\/wordpress-import-failed-how-to-fix-it\/\">p\u00e5 denne siden<\/a>\u00a0p\u00e5pekes det at selv om WordPress i teorien tilllater installasjon av backup-filer p\u00e5 opptil 7 MB (min installasjon hevder opptil 64 MB) vil systemet ofte kr\u00e6sje om filene blir st\u00f8rre enn 2 MB.<\/p>\n<blockquote><p>The problem here is not with\u00a0<em><strong>uploading\u00a0<\/strong><\/em>the XML file. It\u2019s with\u00a0<em><strong>processing<\/strong><\/em>\u00a0it. Once uploaded, WordPress passes the XML file into a PHP processor script. The processor parses through each line of the XML document and handles the data accordingly. Namely: it inserts records into the database according to the XML doc\u2019s content and meta definitions (author, publish date, status, tags, etc.).<\/p>\n<p>It\u2019s that markup-parse\/database-insert process that causes a problem. It just takes too long.\u00a02MB of plain text\u2014like in an XML file\u2014is a TON of text. The server takes forever to process all the data in the 2MB file. And most servers have a timeout limit. They don\u2019t let the process run long enough.<\/p><\/blockquote>\n<p>Den forestl\u00e5tte l\u00f8sningen er \u00e5 dele fila opp i komponenter\u00a0som er s\u00e5 sm\u00e5 at de kan h\u00e5ndteres av WordPress. Hell i uhell: Om ikke WordPress har kompetanse nok til \u00e5 skrive programvare som kan h\u00e5ndtere systemets egne sikkerhetskopier hadde de i alle fall vett nok til \u00e5 g\u00e5 or XML som standard. Det betyr at backupfila er en ren tekstfil som kan \u00e5pnes i en teksteditor (bruk ALDRI et tekstbehandlingsprogram til en slik fil!) og deles opp ved \u00e5 klippe og lime tekstsegmenter for h\u00e5nd. Oppskriften finnes i lenken over, jeg kommer ogs\u00e5 tilbake til en grundigere beskrivelse her.<\/p>\n<p>Min backup-fil var p\u00e5 ca 350 000 linjer, ved \u00e5 dele den opp i 15 mindre tekstfiler (fra 22 000 til 25 000 linjer) fikk jeg segmenter p\u00e5 i underkant av 2 MB. Da gikk importen uten problemer. Jeg har n\u00e5 laget et eget underomr\u00e5de der de mindre filene er lagret for fremtiden s\u00e5 jeg slipper \u00e5 bruke en halv dag p\u00e5 dette neste gang jeg har bloggproblemer. Jeg har ogs\u00e5 lastet ned alle bildene fra bloggen i en mappestruktur som avspeiler den i den opprinnelige bloggen. N\u00e5r bildene lastes opp til samme mapper i den nye WordPress-installasjonen, havner bildene p\u00e5 rett sted i bloggen. Tungvint, men om ikke annet fungerer det.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Blogger du med WordPress kan du ikke v\u00e6re trygg p\u00e5 at backup-fila fungerer etter f.eks. et hackerangrep. Her en oppskrift.<\/p>\n","protected":false},"author":1,"featured_media":12251,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nerdeting"],"_links":{"self":[{"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":9,"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":12306,"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/posts\/1\/revisions\/12306"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/media\/12251"}],"wp:attachment":[{"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newth.net\/eirik\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}