Cadangan terjadwal melindungi Anda dari kemarin. Pembaruan yang merusak situs merusaknya sekarang, dan salinan terakhir mungkin berumur dua puluh jam dengan sehari penuh pesanan di antaranya. Cadangan yang berarti adalah yang diambil tepat sebelum perubahan.

Satu perintah

#!/usr/bin/env bash
# /usr/local/bin/snap
set -euo pipefail
SITE=/var/www/site
OUT=/srv/backup/pre-change/$(date +\%F-\%H\%M)
mkdir -p "$OUT"
tar -czf "$OUT/files.tar.gz" -C "$SITE" .
mysqldump --single-transaction --quick --routines --triggers dbname | gzip > "$OUT/db.sql.gz"
echo "$OUT"
sudo snap && sudo apt-get upgrade

Otomatiskan bila perkakasnya memungkinkan

  • Skrip penerapan menjalankannya sebagai langkah pertama, sebelum apa pun disalin.
  • Pembaruan paket: kait apt, atau pembungkus yang Anda pakai sebagai ganti apt.
  • Pembaruan sistem pengelola konten: kebanyakan punya pengaya yang mengambil citra dulu — pakailah, dan simpan juga salinan Anda sendiri.

Ketahui cara kembali SEBELUM Anda melangkah maju

Tuliskan perintah pembatalan di sebelah jalur citra cadangannya. Kalau bukan satu baris yang bisa Anda tempel, pembatalan itu tidak akan terjadi cukup cepat untuk berguna.

# rollback
tar -xzf /srv/backup/pre-change/2026-09-05-0930/files.tar.gz -C /var/www/site
zcat /srv/backup/pre-change/2026-09-05-0930/db.sql.gz | mysql dbname
Memulihkan basis data membatalkan setiap pesanan dan setiap pendaftaran sejak citra itu diambil. Di situs yang ramai, pulihkan BERKAS-nya lebih dulu dan sentuh basis data hanya bila kerusakannya memang ada pada datanya.

Lalu bereskan

find /srv/backup/pre-change -maxdepth 1 -type d -mtime +14 -exec rm -rf {} +
Perbarui satu hal setiap kali. Lima pengaya sekaligus berarti kerusakannya bisa berasal dari mana saja, dan pembatalan itu membuang kelima perbaikan hanya untuk menemukan satu kerusakan.