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(ésbackup:readha 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))