Bu, mesleğin en kötü saatidir ve hissettirdiğinden daha sık atlatılır. En yeni kopyadan geriye doğru çalışın ve denerken hiçbir şeyin üzerine yazmayın.

Önce: aslına dokunmayın

cp backup.tar.gz /srv/work/backup-copy.tar.gz

Aşağıdaki her kurtarma denemesi bir yerinden yıkıcıdır. Her zaman bir kopya üzerinde çalışın ki başarısız bir deneme hiçbir şeye mal olmasın.

gzip reddederse

gzip -t backup.tar.gz                 # what is wrong
zcat backup.tar.gz > partial.tar 2>/dev/null || true
tar -xf partial.tar --ignore-zeros --warning=no-timestamp

Kesilmiş bir gzip, hasarın olduğu yere kadar her şeyi yine de açar. Alfabetik sıralı bir arşivde bu çoğu zaman sitenin büyük bölümü demektir.

Bir SQL dökümü içe aktarılmıyorsa

zcat db.sql.gz | head -50            # is the header there
zcat db.sql.gz | tail -5            # does it end with "Dump completed"

# import ignoring the failures, then see what arrived
zcat db.sql.gz | mysql --force restore_test
mysql restore_test -e "SHOW TABLES"

--force, bozuk bir komutu geçip devam eder. Bir tablonun ortasında kesilmiş bir döküm, ondan önceki bütün tabloları geri yükler ve ihtiyacınız olan çoğu zaman o tablodur.

Sonra başka kopyalar arayın

  • Sağlayıcının kendi anlık görüntüleri; onlar sizinkilerden ayrıdır.
  • Bir deneme sunucusu; yayındakinin biraz daha eski bir kopyası.
  • Üzerinde yakın tarihli bir döküm bulunan bir geliştirici dizüstü bilgisayarı.
  • Uygulamanın kendi dışa aktarımları — bir sipariş CSV'si hiç yoktan iyidir.

Sonrası için, ikinci kez olmasın diye

Bir yedek ya doğrulanmıştır ya da yalnızca bir umuttur. Arşivi her çalışmada sınayın ve düzenli aralıklarla birini geri yükleyin — bkz. Geri yüklemeyi sınamak ve Başarısız bir yedek kaydını okumak. Ayrıca birden fazlasını, birden fazla yerde tutun: Neden tek bir yedek yedek sayılmaz.