Bagaimana saya menggunakan tar untuk pencadangan dan pemulihan penuh dengan sistem di SSD dan rumah di HDD?

14

Bagaimana saya menggunakan tar untuk pencadangan dan pemulihan penuh dengan sistem di SSD dan rumah di HDD?

Jawaban cadangan dan pemulihan yang ada tampaknya tidak mencakup kasus di mana root dan home berada di perangkat terpisah

Bangun itu
sumber
Selamat datang di AU! Apakah Anda mencari hal satu kali atau solusi berkelanjutan / berkala? Apakah tujuan cadangan lokal atau jauh? tartidak terlalu peduli dengan perangkat dan titik pemasangan. Harap edit posting Anda untuk memasukkan info tambahan.
David Foerster
"Jawaban cadangan dan pemulihan yang ada tampaknya tidak mencakup kasus di mana root dan rumah berada di perangkat terpisah" alasannya: itu adalah ide yang buruk dan membuat 2 file cadangan tidak hanya lebih pintar tetapi juga lebih efisien.
Rinzwind

Jawaban:

17

Disarankan untuk membuat DUA cadangan. 1 untuk / dan 1 untuk / rumah jika mereka berada di partisi yang berbeda. Jika Anda menginginkannya, Anda harus menambahkan banyak pengecualian untuk satu perintah itu. Contoh:

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

akan mencadangkan root Anda dan mengecualikan SEMUA partisi yang dipasang, seperti / media (Anda tidak ingin membuat cadangan perangkat eksternal (Anda benar-benar tidak mau)) dan Anda benar-benar TIDAK ingin mencadangkan sesuatu seperti / dev atau / proc. Dan / home pergi ke cadangan lain.

Dalam metode di atas, cadangan disimpan di /. Akan lebih baik menyimpannya di media eksternal; Anda kemudian dapat meletakkan direktori di depan backup.tar.gz dan lepaskan --exclude=...dari perintah 1.

  • backup.tar.gz adalah cadangan.
  • Ini --excludeakan mencegah cadangan aktual untuk dicadangkan.
  • cvpzf: buat, verbose, pertahankan izin, kompres, gunakan file.

  • --satu-file-sistem - Jangan menyertakan file pada sistem file yang berbeda. Jika Anda menginginkan sistem file lain, seperti partisi / home, atau media eksternal yang dipasang di / media yang dicadangkan, Anda harus mencadangkannya secara terpisah, atau mengabaikan tanda ini. Jika Anda menghilangkan tanda ini, Anda perlu menambahkan beberapa --exclude = argumen untuk menghindari sistem file yang tidak Anda inginkan. Ini adalah direktori / proc, / sys, / mnt, / media, / run dan / dev di root./ proc dan / sys adalah sistem file virtual yang menyediakan windows ke dalam variabel dari kernel yang sedang berjalan, jadi Anda tidak ingin mencoba dan membuat cadangan atau mengembalikannya. / dev adalah tmpfs yang isinya dibuat dan dihapus secara dinamis oleh udev, jadi Anda juga tidak ingin membuat cadangan atau memulihkannya. Demikian juga, / run adalah tmpfs yang menampung variabel tentang sistem yang sedang berjalan yang tidak perlu dicadangkan ( Sumber ).


Jadi ... jika Anda benar-benar masih menginginkan "satu garis" itu bisa terlihat seperti ini:

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

(Saya harap saya mendapatkan semua yang perlu dikecualikan)


Memulihkan akan

sudo su
cd /
tar xvzf backup.tar.gz

Saya tidak menggunakan sudodi depan perintah tar karena Anda akan mendapatkan pesan kesalahan tentang izin (karena file yang dimiliki oleh root).

Rinzwind
sumber
Saran dua baris Anda bekerja dengan sangat baik kecuali ketika membuat cadangan sistem saya mendapat satu pesan. "/lib64/ld-linux86-64.so2 tar: /: file berubah saat kita membacanya." Apakah ini normal selama cadangan?
Buildit
Iya. tar akan memberi tahu Anda tentang perubahan dalam file selama tindakan pencadangan file itu sendiri (memeriksa status file sebelum dan sesudah mencadangkannya). Secara umum pesan-pesan ini tidak berbahaya. Jika Anda memiliki perangkat lunak / data Anda sendiri dan mendapatkannya di salah satu file itu saya akan membuat cadangan sendiri.
Rinzwind
Tar standar tidak memampatkan, hanya menggabungkan segalanya ke satu file (TAR = Tape ARchive). Coba gtar sebagai gantinya.
Alan Campbell
1
Jika perintah tidak akan mencadangkan direktori tertentu, apakah saya harus membuatnya kembali ketika saya memulihkan sistem? Juga keuntungan apa yang dimiliki metode ini hanya dengan menggunakan Deja-Dup?
user4493605