మీరు ఏదైనా వెబ్‌సైట్‌ను ఇష్టపడితే, దాన్ని బ్యాకప్ చేసుకోండి: వెబ్ కంటెంట్‌ను ఆర్కైవ్ చేయడానికి ఆచరణాత్మక గైడ్

మీరు ఏదైనా వెబ్‌సైట్‌ను ఇష్టపడితే, దాన్ని బ్యాకప్ చేసుకోండి: వెబ్ కంటెంట్‌ను ఆర్కైవ్ చేయడానికి ఆచరణాత్మక గైడ్

వివిధ సాధనాలను ఉపయోగించి మీకు ఇష్టమైన వెబ్ పేజీలను సమర్థవంతంగా ఎలా భద్రపరుచుకోవాలో తెలుసుకోండి.

వెబ్ కంటెంట్‌ను బ్యాకప్ చేసుకోవడం యొక్క ప్రాముఖ్యత మునుపెన్నడూ లేనంతగా ఇప్పుడు ఎంతో అవసరం. లెక్కలేనన్ని వెబ్‌సైట్‌లు అదృశ్యమవుతుండటం లేదా వాటి విధానాలను మారుస్తుండటంతో, మీకు ఇష్టమైన పేజీలను ఎలా ఆర్కైవ్ చేయాలో తెలుసుకోవడం విలువైన సమాచారాన్ని కోల్పోకుండా మిమ్మల్ని కాపాడుతుంది.

వెబ్ కంటెంట్‌ను ఎందుకు ఆర్కైవ్ చేయాలి?

ఒకప్పుడు అద్భుతమైన కంటెంట్‌ను అందించిన లింక్, ఇప్పుడు 404 ఎర్రర్‌ను చూపుతున్నప్పుడు కలిగే నిరాశను మనలో చాలా మంది అనుభవించే ఉంటారు. గడువు ముగిసిన డొమైన్‌లు, ప్లాట్‌ఫారమ్‌ల మూసివేత లేదా వెబ్‌సైట్ విధానాలలో మార్పుల వల్ల ఇలా జరగవచ్చు. కేవలం పేజీని బుక్‌మార్క్ చేయడం సరిపోదు; లింక్‌లు బ్రేక్ కావచ్చు మరియు కంటెంట్ కనుమరుగైపోవచ్చు. ఆర్కైవ్ చేయడం ద్వారా మీకు ఇష్టమైన వెబ్ కంటెంట్ భవిష్యత్ ఉపయోగం కోసం భద్రపరచబడుతుంది.

వెబ్ కంటెంట్‌ను ఆర్కైవ్ చేయడానికి సాధనాలు

వెబ్ కంటెంట్‌ను ఆర్కైవ్ చేయడానికి అనేక సాధనాలు అందుబాటులో ఉన్నాయి. వాటిలో మూడు ప్రసిద్ధ ఎంపికలు ఇక్కడ ఉన్నాయి:

  1. monolith: ఈ కమాండ్-లైన్ సాధనం అవసరమైన అన్ని CSS, చిత్రాలు మరియు JavaScript లతో సహా వెబ్ పేజీలను ఒకే HTML ఫైల్‌గా సేవ్ చేస్తుంది. ఇది ఇంటర్నెట్ కనెక్షన్ అవసరం లేకుండానే ఆర్కైవ్ చేసిన పేజీని ఆఫ్‌లైన్‌లో సులభంగా వీక్షించేలా చేస్తుంది.

  2. wget: వెబ్ నుండి ఫైల్‌లను డౌన్‌లోడ్ చేయగల ఒక శక్తివంతమైన కమాండ్-లైన్ యుటిలిటీ. ఇది మొత్తం వెబ్‌సైట్‌లను మిర్రర్ చేయగలదు, దీనివల్ల స్టాటిక్ సైట్‌లను బ్యాకప్ చేయడానికి ఇది ఎంతో అనువుగా ఉంటుంది.

  3. ArchiveBox: వివిధ ఫార్మాట్లలో వెబ్ కంటెంట్‌ను ఆర్కైవ్ చేసే ఒక ఓపెన్-సోర్స్, సెల్ఫ్-హోస్టెడ్ సాధనం. ఇది మొత్తం వెబ్‌సైట్‌లు, వ్యక్తిగత పేజీలు లేదా లింక్‌ల సేకరణలను సేవ్ చేయగలదు మరియు మీ ఆర్కైవ్‌లలో సులభంగా శోధించడానికి యూజర్ ఫ్రెండ్లీ ఇంటర్‌ఫేస్‌ను అందిస్తుంది.

సరైన సాధనాన్ని ఎంచుకోవడం

మీరు ఆర్కైవ్ చేయడం ప్రారంభించే ముందు, మీరు ఏమి సేవ్ చేయాలనుకుంటున్నారో నిర్ణయించుకోవడం ముఖ్యం. ఇక్కడ ఒక చిన్న గైడ్ ఉంది:

  • సింగిల్ పేజీ: ఉపయోగించండి monolith లేదా మొత్తం వెబ్‌పేజీని ఒక స్వతంత్ర HTML ఫైల్‌గా సేవ్ చేయడానికి SingleFile బ్రౌజర్ ఎక్స్‌టెన్షన్‌ను ఉపయోగించండి.
  • మొత్తం స్టాటిక్ సైట్: ఉపయోగించండి wget --mirror మొత్తం సైట్‌ను డౌన్‌లోడ్ చేయడానికి. దీర్ఘకాలిక సంరక్షణ కోసం WARC (Web ARChive) ఫార్మాట్‌ను చేర్చడం సిఫార్సు చేయబడింది.
  • శోధన సామర్థ్యంతో కూడిన దీర్ఘకాలిక సేకరణ: వెబ్ కంటెంట్ యొక్క శోధించదగిన ఆర్కైవ్‌ను రూపొందించడానికి సెల్ఫ్-హోస్టెడ్ ArchiveBox ఇన్‌స్టాన్స్‌ను సెటప్ చేయండి.

వెబ్‌సైట్‌ను మిర్రర్ చేయడానికి wget ను ఎలా ఉపయోగించాలి

ఒక వెబ్‌సైట్‌ను మిర్రర్ చేయడానికి wgetను ఉపయోగించి, ఈ క్రింది దశలను అనుసరించండి:

దశ 1: wget ను ఇన్‌స్టాల్ చేయండి

మీ సిస్టమ్‌లో ఒకవేళ wget ఇన్‌స్టాల్ చేయబడి ఉండకపోతే, మీరు దాన్ని సులభంగా జోడించవచ్చు. macOS లో, దీన్ని ఇన్‌స్టాల్ చేయడానికి మీరు ప్యాకేజీ మేనేజర్‌ను ఉపయోగించవచ్చు.

దశ 2: బ్యాకప్ స్క్రిప్ట్‌ను సృష్టించండి

బ్యాకప్ ప్రక్రియను ఆటోమేట్ చేయడానికి మీరు ఒక సాధారణ స్క్రిప్ట్‌ను సృష్టించవచ్చు. ఇక్కడ ఒక ఉదాహరణ స్క్రిప్ట్ ఉంది:

#!/usr/bin/env bash
# mirror-site.sh - backup một site tĩnh, kèm file WARC
set -euo pipefail
URL="$1"
NAME=$(echo "$URL" | sed -E 's#https?://##; s#/.*##')
DATE=$(date +%Y%m%d)
OUT="$HOME/web-archive/$NAME/$DATE"
mkdir -p "$OUT"
cd "$OUT"
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --wait=1 --random-wait --limit-rate=500k --user-agent='Mozilla/5.0 (personal-archive)' --warc-file="$NAME-$DATE" --warc-cdx "$URL"
echo "Xong: $OUT"
du -sh "$OUT"

దశ 3: స్క్రిప్ట్‌ను రన్ చేయండి

మీరు ఆర్కైవ్ చేయాలనుకుంటున్న వెబ్‌సైట్ యొక్క URL ను పాస్ చేయడం ద్వారా స్క్రిప్ట్‌ను రన్ చేయండి:

bash mirror-site.sh https://example.com

monolith తో వ్యక్తిగత పేజీలను ఆర్కైవ్ చేయడం

మీరు సైట్‌మ్యాప్ ఉన్న బ్లాగ్ నుండి వ్యక్తిగత పేజీలను ఆర్కైవ్ చేయాలనుకుంటే, మీరు monolithను ఉపయోగించవచ్చు. అది ఎలాగో ఇక్కడ ఉంది:

దశ 1: monolith ను ఇన్‌స్టాల్ చేయండి

మీ సిస్టమ్‌లో monolith ఇన్‌స్టాల్ చేయబడిందో లేదో నిర్ధారించుకోండి. మీరు దాని అధికారిక వెబ్‌సైట్‌లో ఇన్‌స్టాలేషన్ సూచనలను కనుగొనవచ్చు.

దశ 2: ఆర్కైవింగ్ స్క్రిప్ట్‌ను సృష్టించండి

సైట్‌మ్యాప్‌లో జాబితా చేయబడిన పేజీలను ఆర్కైవ్ చేయడానికి ఒక Python స్క్రిప్ట్ ఇక్కడ ఉంది:

#!/usr/bin/env python3
# archive_sitemap.py - Python 3.10+, cần: pip install requests
import hashlib
import subprocess
import sys
import time
import xml.etree.ElementTree as ET
from pathlib import Path
import requests

NS = {"sm": "http://www.sitemaps.org/schemas/sitemap/0.9"}
OUT_DIR = Path.home() / "web-archive" / "pages"

def get_urls(sitemap_url: str) -> list[str]:
    resp = requests.get(sitemap_url, timeout=30)
    resp.raise_for_status()
    root = ET.fromstring(resp.content)
    if root.tag.endswith("sitemapindex"):
        urls = []
        for loc in root.findall("sm:sitemap/sm:loc", NS):
            urls.extend(get_urls(loc.text.strip()))
        return urls
    return [loc.text.strip() for loc in root.findall("sm:url/sm:loc", NS)]

def archive(url: str) -> None:
    key = hashlib.sha1(url.encode()).hexdigest()[:12]
    target = OUT_DIR / f"{key}.html"
    if target.exists():
        print(f"[skip] {url}")
        return
    result = subprocess.run(["monolith", url, "-j", "-I", "-o", str(target)], capture_output=True, text=True, timeout=120)
    status = "ok" if result.returncode == 0 else "FAIL"
    print(f"[{status}] {url} - {target.name}")
    with open(OUT_DIR / "index.tsv", "a") as f:
        f.write(f"{key}\t{status}\t{url}\n")

if __name__ == "__main__":
    OUT_DIR.mkdir(parents=True, exist_ok=True)
    for u in get_urls(sys.argv[1]):
        archive(u)
        time.sleep(2)

దశ 3: స్క్రిప్ట్‌ను రన్ చేయండి

స్క్రిప్ట్‌ను రన్ చేయడానికి, ఈ కమాండ్‌ను ఉపయోగించండి:

python3 archive_sitemap.py https://example.com/sitemap.xml

ArchiveBox తో ఆటోమేట్ చేయడం

పెద్ద సంఖ్యలో లింక్‌ల సేకరణ కోసం, ArchiveBox ఎంతో సహాయకరంగా ఉంటుంది. దీన్ని ఎలా సెటప్ చేయాలో ఇక్కడ ఉంది:

దశ 1: ArchiveBox ను ఇన్‌స్టాల్ చేయండి

మీరు Docker ఉపయోగించి ArchiveBox ను సెటప్ చేయవచ్చు. దాని కోసం ఒక డైరెక్టరీని సృష్టించి, దీన్ని రన్ చేయండి:

mkdir -p ~/archivebox/data
cd ~/archivebox
curl -fsSL 'https://docker-compose.archivebox.io' -o docker-compose.yml
docker compose run archivebox init --setup
docker compose up -d

మీరు వ్యక్తిగత లింక్‌లను లేదా లింక్‌లు ఉన్న ఫైల్‌ను జోడించవచ్చు:

docker compose run archivebox add 'https://example.com/article'
docker compose run archivebox add ~/links.txt

దశ 3: బ్యాకప్‌లను షెడ్యూల్ చేయండి

మీరు ఒక cron జాబ్‌ను ఉపయోగించి ఆర్కైవింగ్ ప్రక్రియను ఆటోమేట్ చేయవచ్చు. ఉదాహరణకు, ప్రతి ఆదివారం తెల్లవారుజామున 3 AM గంటలకు బ్యాకప్‌ను రన్ చేయడానికి:

0 3 * * 0 /home/user/bin/mirror-site.sh https://example.com/blog/ /var/log/mirror.log 2>&1

ముగింపు

విలువైన సమాచారం అదృశ్యమవకుండా కాపాడటానికి వెబ్ కంటెంట్‌ను ఆర్కైవ్ చేయడం చాలా అవసరం. wget, monolith మరియు ArchiveBox వంటి సాధనాలను ఉపయోగించడం ద్వారా, మీకు ఇష్టమైన వెబ్‌సైట్‌లను మీరు సమర్థవంతంగా బ్యాకప్ చేసుకోవచ్చు మరియు భవిష్యత్తులో అవి అందుబాటులో ఉండేలా చూసుకోవచ్చు.

ప్రయోజనాలు

  • బ్రోకెన్ లింక్‌లు లేదా గడువు ముగిసిన డొమైన్‌ల వల్ల జరిగే డేటా నష్టం నుండి రక్షిస్తుంది.
  • ఆర్కైవ్ చేసిన కంటెంట్‌ను ఆఫ్‌లైన్‌లో యాక్సెస్ చేయడానికి అనుమతిస్తుంది.
  • సమాచారాన్ని సులభంగా తిరిగి పొందడం కోసం శోధించదగిన ఆర్కైవ్‌ను అందిస్తుంది.

పరిమితులు

  • సెటప్ చేయడానికి మరియు ఉపయోగించడానికి కొంత సాంకేతిక పరిజ్ఞానం అవసరం.
  • ఆర్కైవ్ చేసిన కంటెంట్ పరిమాణాన్ని బట్టి గణనీయమైన స్టోరేజ్ స్థలాన్ని వినియోగించవచ్చు.
  • బ్యాకప్‌లు ఉపయోగపడేలా ఉండేందుకు క్రమమైన నిర్వహణ మరియు తనిఖీలు అవసరం.

జాగ్రత్త

ఈ వ్యాసం విద్యా ప్రయోజనాల కోసం మాత్రమే ఉద్దేశించబడింది. ఈ ఆదేశాలను అమలు చేసేటప్పుడు ఏవైనా ప్లేస్‌హోల్డర్ విలువలను మీ అసలు డేటాతో భర్తీ చేయాలని నిర్ధారించుకోండి. వాటిపై ఆధారపడే ముందు ఎల్లప్పుడూ అసలు మూలాధారంతో సమాచారాన్ని ధృవీకరించుకోండి.

తరచుగా అడిగే ప్రశ్నలు

  • వెబ్ ఆర్కైవింగ్ అంటే ఏమిటి? — వెబ్ ఆర్కైవింగ్ అనేది భవిష్యత్ ఉపయోగం కోసం వెబ్ కంటెంట్‌ను సేకరించి భద్రపరిచే ప్రక్రియ.
  • నేను వెబ్‌సైట్‌ను ఎందుకు బ్యాకప్ చేయాలి? — వెబ్‌సైట్‌ను బ్యాకప్ చేయడం వల్ల లింక్ రాట్ (link rot), డొమైన్ గడువు ముగియడం లేదా ప్లాట్‌ఫారమ్ మార్పుల కారణంగా విలువైన సమాచారం కోల్పోకుండా నిరోధించవచ్చు.
  • వెబ్ కంటెంట్‌ను ఆర్కైవ్ చేయడానికి నేను ఏ సాధనాలను ఉపయోగించవచ్చు? — ప్రసిద్ధ సాధనాలలో wget, monolith మరియు ArchiveBox ఉన్నాయి.
  • వెబ్‌సైట్‌ను మిర్రర్ చేయడానికి నేను wget ను ఎలా ఉపయోగించాలి? — మీరు wget --mirror ను వివిధ ఎంపికలతో పాటు ఉపయోగించి మొత్తం వెబ్‌సైట్‌ను డౌన్‌లోడ్ చేసుకోవచ్చు.
  • WARC ఫార్మాట్ అంటే ఏమిటి? — WARC (Web ARChive) అనేది దీర్ఘకాలిక సంరక్షణ కోసం వెబ్ పేజీలు మరియు వాటి సంబంధిత మెటాడేటాను నిల్వ చేయడానికి ఉపయోగించే ఫైల్ ఫార్మాట్.
  • నేను JavaScript-రెండర్ చేయబడిన వెబ్‌సైట్‌లను ఆర్కైవ్ చేయవచ్చా? — అవును, కానీ మీకు JavaScript ను నిర్వహించగల SingleFile లేదా ArchiveBox వంటి సాధనాలు అవసరం కావచ్చు.
  • ఆర్కైవింగ్ ప్రక్రియను నేను ఎలా ఆటోమేట్ చేయగలను? — మీకు ఇష్టమైన వెబ్‌సైట్‌ల యొక్క క్రమమైన బ్యాకప్‌లను షెడ్యూల్ చేయడానికి మీరు cron జాబ్‌లను ఉపయోగించవచ్చు.
  • 3-2-1 బ్యాకప్ నియమం అంటే ఏమిటి? — 3-2-1 నియమం మీ డేటా యొక్క మూడు కాపీలను, రెండు వేర్వేరు రకాల స్టోరేజ్‌లలో ఉంచాలని, అందులో ఒక కాపీని ఆఫ్‌సైట్‌లో భద్రపరచాలని సూచిస్తుంది.

ట్యాగ్‌లు

#webdev #archiving #selfhosted #devops #backup #wget #monolith #ArchiveBox #datarecovery #webpreservation

Free field guide

Prompt-Injection Defense Checklist

The controls that actually reduce the blast radius when your app feeds untrusted text to an LLM. Enter your email — you'll get the PDF instantly, plus new posts on AI, security & Linux.