PromNET

SÚGÓ Felhő tárhely

R2 Backup automatizmus — WordPress, MySQL, fájlok cron-on

Hogyan automatizáld a saját szervered backup-ját PromNET R2-be — WordPress-példa, mysqldump-script, általános bash-cron, mind PAT-tokennel.


A PromNET R2 Backup plugin nem csak a webes drag-and-drop-ot támogatja — a saját szervereden is automatizálhatod a mentést egy egyszerű cron-script-tel. A meglévő hosting-csomagodhoz tartozó PAT-token (Personal Access Token) elég hozzá; nem kell jelszót betenni a script-be.

1. Token-generálás

A /app/profil oldalon Tokenek-szakaszban hozz létre egy újat:

  • Név: r2-backup-cron
  • Scope: backup:write (és backup:read ha listázni is akarod)
  • Lejárat: ahogy szeretnéd (pl. 1 év)

A token csak egyszer látható — másold el biztos helyre (pl. szerver-env-be).

2. Egyszerű bash-cron — bármilyen fájl-archív

#!/usr/bin/env bash
# /etc/cron.daily/promnet-backup.sh — naponta 02:30-kor fut
set -e

PROMNET_TOKEN="promnet_pat_..."         # a saját tokened
RETENTION_DAYS=30                        # 7/30/90/180/365

# 1. Fájl-archiv készítése (példa: /var/www egy mappa)
TIMESTAMP=$(date +%Y%m%d-%H%M)
ARCHIVE="/tmp/site-$TIMESTAMP.tar.gz"
tar -czf "$ARCHIVE" /var/www

# 2. Feltöltés
curl -X POST "https://promnet.hu/api/backups" \
  -H "Authorization: Bearer $PROMNET_TOKEN" \
  -F "file=@$ARCHIVE" \
  -F "name=Site backup $TIMESTAMP" \
  -F "retention_days=$RETENTION_DAYS"

# 3. Helyi fájl törlése (R2-ben már megvan)
rm -f "$ARCHIVE"

chmod +x /etc/cron.daily/promnet-backup.sh és kész — naponta automatikusan felmegy a backup. A retention-rendszer 30 nap után törli, így a tárhely nem nő a végtelenségig.

3. WordPress-mentés (DB + wp-content)

#!/usr/bin/env bash
set -e
PROMNET_TOKEN="promnet_pat_..."
WP_PATH="/var/www/wordpress"
TIMESTAMP=$(date +%Y%m%d)

# DB-dump (a wp-config.php-ből olvassa a credentials-t)
DB_NAME=$(grep DB_NAME "$WP_PATH/wp-config.php" | awk -F"'" '{print $4}')
DB_USER=$(grep DB_USER "$WP_PATH/wp-config.php" | awk -F"'" '{print $4}')
DB_PASS=$(grep DB_PASSWORD "$WP_PATH/wp-config.php" | awk -F"'" '{print $4}')

DUMP="/tmp/wp-$TIMESTAMP.sql.gz"
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" | gzip > "$DUMP"

curl -X POST "https://promnet.hu/api/backups" \
  -H "Authorization: Bearer $PROMNET_TOKEN" \
  -F "file=@$DUMP" \
  -F "name=WordPress DB $TIMESTAMP" \
  -F "retention_days=30"

# wp-content (téma + plugin + uploads) — csak ha 100 MB alatt fér el
CONTENT_ARCHIVE="/tmp/wp-content-$TIMESTAMP.tar.gz"
tar -czf "$CONTENT_ARCHIVE" -C "$WP_PATH" wp-content

curl -X POST "https://promnet.hu/api/backups" \
  -H "Authorization: Bearer $PROMNET_TOKEN" \
  -F "file=@$CONTENT_ARCHIVE" \
  -F "name=WordPress content $TIMESTAMP" \
  -F "retention_days=30"

rm -f "$DUMP" "$CONTENT_ARCHIVE"

Helyezd el /etc/cron.weekly/wp-backup.sh alatt (heti egyszer).

4. MySQL-only — csak a DB

mysqldump -u root -p"PASS" --all-databases | gzip | \
curl -X POST "https://promnet.hu/api/backups" \
  -H "Authorization: Bearer $PROMNET_TOKEN" \
  -F "file=@-;filename=mysql-all-$(date +%F).sql.gz" \
  -F "name=MySQL all DBs $(date +%F)" \
  -F "retention_days=30"

A @- az stdin-ből olvas — nem kell helyi fájlt készíteni.

5. Méret-limit (100 MB / fájl)

A Pages-Function max body-size 100 MB. Ha a backup-od nagyobb, darabold:

# Daraboljuk 90 MB-osakra
split -b 90M big-archive.tar.gz parts-

for part in parts-*; do
  curl -X POST "https://promnet.hu/api/backups" \
    -H "Authorization: Bearer $PROMNET_TOKEN" \
    -F "file=@$part" \
    -F "name=Big archive $(date +%F) — $part" \
    -F "retention_days=30"
done

Visszaállításkor cat parts-* > big-archive.tar.gz újraegyesít.

6. Listázás script-ből

curl -H "Authorization: Bearer $PROMNET_TOKEN" \
  https://promnet.hu/api/backups | jq '.backups[] | {name, size_bytes, expires_at}'

7. Letöltés script-ből

BACKUP_ID="bkp_..."
curl -H "Authorization: Bearer $PROMNET_TOKEN" \
  -o restored.tar.gz \
  "https://promnet.hu/api/backups/$BACKUP_ID?download=1"

8. Retention-figyelmeztetés

7 nappal a lejárat előtt emailt + dashboard-értesítést küldünk. Ha nem szeretnéd elveszíteni a backup-ot:

  • Letöltés (helyi gépre vagy másik felhőbe)
  • Hosszabbítás +30 nap (max 1 év a feltöltéstől) a webes UI-n vagy később CLI-vel

9. Best-practice: 3-2-1 backup

A profi sysadmin-ok a 3-2-1 szabályt követik:

  • 3 példány (eredeti + 2 backup)
  • 2 különböző média (pl. saját NAS + felhő)
  • 1 offsite (PromNET R2 → ez)

A PromNET R2 Backup az offsite-példányod — kombináld saját NAS-szal vagy egy másik felhő-szolgáltatóval (pl. Backblaze B2) a teljes redundanciához.

Limitek és figyelmeztetések

  • Max 100 MB / fájl (Pages-Function body-limit)
  • Free-tier 500 MB összesen — komoly mentésekhez Solo (5 GB) / Pro (50 GB) / Business (200 GB) tier szükséges
  • Retention max 1 év a feltöltéstől — utána automatikus törlés (figyelmeztetéssel)
  • A Szolgáltató nem felel az értesítés ellenére be nem mentett adatokért (lásd ÁSZF 4.1 (7))

← Felhő tárhely Frissítve: 2026. 05. 07.