{"id":56573,"date":"2025-11-24T20:39:14","date_gmt":"2025-11-24T20:39:14","guid":{"rendered":"https:\/\/www.roger-pearse.com\/weblog\/?p=56573"},"modified":"2025-11-24T20:39:14","modified_gmt":"2025-11-24T20:39:14","slug":"first-attempts-at-recovery","status":"publish","type":"post","link":"https:\/\/roger-pearse.com\/weblog\/2025\/11\/24\/first-attempts-at-recovery\/","title":{"rendered":"First attempts at recovery"},"content":{"rendered":"<p align=\"justify\">It&#8217;s been an arduous afternoon, trying to work out how to recover from the hack last year that has poisoned hundreds of posts on this site.\u00a0 The site currently includes <span class=\"sbs-count-posts\">4,741<\/span> posts containing 3,096,019 words.\u00a0 That&#8217;s a lot to go through manually.\u00a0 And since I don&#8217;t know how the hack was done, or whether it is still active, or a backdoor is present, then it might be futile.<\/p>\n<p align=\"justify\">I&#8217;ve done a few grep searches on the most recent backup file.\u00a0 A search for &#8220;cialis&#8221; alone gave over 250 results.\u00a0 Of course I have no idea of all the possible spam terms.<\/p>\n<p align=\"justify\">But I have been a good boy, and made regular backups.\u00a0 I do have a backup of the site, taken a month earlier.\u00a0 In theory I should just be able to create a new WordPress installation, and restore that, and then handle the last year bit by bit.<\/p>\n<p align=\"justify\">So I created a new, clean WordPress installation.\u00a0 Unfortunately&#8230; the backup times out.\u00a0 It&#8217;s 70mb, which is too long for some timeout somewhere.\u00a0 Why doesn&#8217;t it batch the thing?<\/p>\n<p align=\"justify\">No worries, there&#8217;s a command-line interface to wordpress, WP-CLI.\u00a0 That runs&#8230; and gets killed by something or other, possibly the site operators, more likely a robot for running out of memory.<\/p>\n<p align=\"justify\">I&#8217;m leaving the damaged site up at the moment.\u00a0 I will ponder.<\/p>\n<p align=\"justify\">PS:\u00a0 It just occurred to me&#8230; maybe I should run WordPress on my PC, do the import there, and then export the contents in pieces, and load these?\u00a0 What a faff.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been an arduous afternoon, trying to work out how to recover from the hack last year that has poisoned hundreds of posts on this site.\u00a0 The site currently includes 4,741 posts containing 3,096,019 words.\u00a0 That&#8217;s a lot to go through manually.\u00a0 And since I don&#8217;t know how the hack was done, or whether it [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[19],"tags":[1324],"class_list":["post-56573","post","type-post","status-publish","format-standard","hentry","category-from-my-diary-announcements","tag-pharma-spam-hack"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/posts\/56573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/comments?post=56573"}],"version-history":[{"count":0,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/posts\/56573\/revisions"}],"wp:attachment":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/media?parent=56573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/categories?post=56573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/tags?post=56573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}