SSD'de ve HDD'de evde sistemle tam yedekleme ve geri yükleme için tar'ı nasıl kullanırım?


14

SSD'de ve HDD'de evde sistemle tam yedekleme ve geri yükleme için tar'ı nasıl kullanırım?

Mevcut yedekleme ve geri yükleme cevapları, root ve home'un ayrı cihazlarda olduğu durumu kapsamıyor gibi görünüyor


AU'ya hoş geldiniz! Bir defalık bir şey mi yoksa sürekli / periyodik bir çözüm mü arıyorsunuz? Yedekleme hedefi yerel mi yoksa uzak mı? tarcihazları ve montaj noktalarını gerçekten önemsemiyor. Lütfen ek bilgileri eklemek için yayınınızı düzenleyin .
David Foerster

"Mevcut yedekleme ve geri yükleme cevapları, root ve home'un ayrı cihazlarda olduğu durumu kapsamıyor gibi görünüyor" nedeni: kötü bir fikir ve 2 yedekleme dosyası oluşturmak sadece daha akıllı değil aynı zamanda daha verimli.
Rinzwind

Yanıtlar:


17

İKİ yedeklemenin yapılması önerilir. Farklı bölme içinse / için 1 ve / home için 1. İsterseniz, bu komuta birçok istisna eklemeniz gerekir. Misal:

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

kökünüzü yedekler ve / media (harici aygıtları yedeklemek istemezsiniz (gerçekten istemezsiniz) gibi TÜM bağlı bölümleri hariç tutar) ve / dev veya / proc gibi bir şeyi yedeklemek istemezsiniz. Ve / home başka bir yedeklemeye gider.

Yukarıdaki yöntemde yedekleme / içinde saklanır. Harici bir ortamda saklamak daha iyi olacaktır; daha sonra backup.tar.gz dosyasının önüne bir dizin koyabilir ve --exclude=...1. komuttan bırakabilirsiniz .

  • backup.tar.gz yedeklemedir.
  • Bu --exclude, gerçek yedeklemenin desteklenmesini önleyecektir.
  • cvpzf: oluştur, ayrıntılı, izinleri koru, sıkıştır, bir dosya kullan.

  • --one-file-system - Farklı bir dosya sistemine dosya eklemeyin. / Home bölümü veya / media içine monte edilmiş harici ortamlar gibi yedeklenmiş başka dosya sistemleri istiyorsanız, bunları ayrı olarak yedeklemeniz veya bu bayrağı atlamanız gerekir. Bu bayrağı atlarsanız, istemediğiniz dosya sistemlerinden kaçınmak için birkaç --exclude = bağımsız değişken eklemeniz gerekir. Bunlar / proc, / sys, / mnt, / media, / run ve / dev dizinleri olacaktır./ proc ve / sys, çalışan çekirdeğin değişkenlerine pencereler sağlayan sanal dosya sistemleridir, bu nedenle bunları denemek ve yedeklemek veya geri yüklemek istemezsiniz. / dev içeriği udev tarafından dinamik olarak oluşturulan ve silinen bir tmpfs'dir, bu nedenle yedeklemek veya geri yüklemek de istemezsiniz. Benzer şekilde, / run, çalışan sistem hakkında yedeklenmesi gerekmeyen değişkenleri tutan bir tmpfs'dir ( Kaynak ).


Yani ... eğer gerçekten hala bir "tek astar" istiyorsanız şu şekilde görünebilir:

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(Umarım hariç tutulması gereken her şeyi elde etmiş olurum)


Geri yükleme

sudo su
cd /
tar xvzf backup.tar.gz

sudo(Kök sahip olunan dosyalar nedeniyle) izinlerle ilgili hata mesajları alacağınızdan tar komutunun önünde kullanmadım .


İki hat öneriniz çok iyi çalıştı, ancak sistemi yedeklerken bir mesaj aldım. "/lib64/ld-linux86-64.so2 tar: /: dosyayı okudukça değişti." Yedekleme sırasında bu normal mi?
Buildit

Evet. tar, dosyanın kendisinin yedekleme eylemi sırasında dosyadaki değişiklikleri size bildirir (dosyayı yedeklemeden önce ve sonra durumunu kontrol eder). Genel olarak bu mesajlar zararsızdır. Kendi yazılımınız / verileriniz varsa ve bu dosyalardan birine sahipseniz, yedeklemeyi kendim yeniden oluşturacağım.
Rinzwind

Standart katran sıkıştırmaz, her şeyi tek bir dosyaya birleştirir (TAR = Tape ARchive). Bunun yerine gtar'ı deneyin.
Alan Campbell

1
Komut belirli dizinleri yedeklemezse, sistemi geri yüklediğimde bunları yeniden oluşturmam gerekir mi? Ayrıca bu yöntemin Deja-Dup'i kullanmanın ne gibi avantajları vardır?
user4493605
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.