bup-restore - manual referensi, opsi, contoh perintah


NAMA

bup-restore - ekstrak file dari set cadangan

RINGKASAN

bup restore [-r host:[path]] [--outdir=outdir] [--exclude-rx pattern] [--exclude-rx-from filename] [-v] [-q] <paths...>

KETERANGAN

bup restore mengekstrak file dari set cadangan (dibuat dengan bup-save(1)) ke sistem file lokal.

jalur yang ditentukan berbentuk /cabang/revisi/beberapa/di mana. Komponen jalan adalah sebagai berikut:

branch

nama set cadangan untuk dipulihkan; ini sesuai dengan opsi --name (-n) untuk bup save.

revision

revisi set cadangan untuk memulihkan. Revisi terbaru selalu merupakan cadangan terbaru di cabang tertentu. Anda dapat menemukan revisi lain menggunakan bup ls /branch.

some/where

jalur yang disimpan sebelumnya (setelah pengupasan/pencangkokan) yang ingin Anda pulihkan. Misalnya, etc/passwd.

Jika beberapa/dimana menamai sebuah direktori, bup restore akan mengembalikan direktori tersebut dan kemudian mengembalikan isinya secara rekursif.

Jika some/where menamai sebuah direktori dan diakhiri dengan garis miring (mis. path/to/dir/), bup restore akan mengembalikan anak-anak dari direktori tersebut langsung ke direktori saat ini (atau --outdir ). Jika beberapa/dimana tidak diakhiri dengan garis miring, turunan akan dikembalikan ke subdirektori dari direktori saat ini.

Jika beberapa/dimana menamai direktori dan diakhiri dengan `/.' (mis. path/to/dir/.), bup restore akan melakukan persis seperti yang seharusnya dilakukan untuk path/to/dir, lalu mengembalikan metadata dir ke direktori saat ini (atau --outdir). Lihat bagian CONTOH.

Sebagai kasus khusus, jika some/where menamai symlink “terbaru ”, mis. bup restore /foo/latest, maka bup akan bertindak persis seolah-olah save yang "terbaru" menunjuk ke telah ditentukan, dan memulihkannya, daripada symlink "terbaru" itu sendiri.

Setiap kali metadata jalur tersedia, bup restore akan berusaha memulihkannya. Saat memulihkan kepemilikan, bup mengimplementasikan semantik seperti tar/rsync. Biasanya akan lebih memilih nama pengguna dan grup daripada uid dan gid saat tersedia, tetapi tidak akan mencoba memulihkan pengguna kecuali dijalankan sebagai root, dan akan kembali ke uid atau gid numerik setiap kali metadata berisi pengguna atau nama grup yang tidak ada di sistem saat ini. Penggunaan nama pengguna dan grup dapat dinonaktifkan melalui --numeric-ids (yang dapat menjadi penting saat memulihkan chroot, misalnya), dan sebagai kasus khusus, uid atau gid 0 tidak akan pernah dipetakan ulang berdasarkan nama. Selain itu, beberapa sistem tidak mengizinkan pengaturan uid/gid yang tidak sesuai dengan pengguna/grup yang dikenal. Pada sistem tersebut, bup akan mencatat kesalahan untuk setiap jalur yang relevan.

Opsi --map-user, --map-group, --map-uid, --map-gid dapat digunakan untuk menyesuaikan informasi kepemilikan yang tersedia sebelum salah satu aturan di atas diterapkan, tetapi perhatikan bahwa karena aturan tersebut , --map-uid dan --map-gid tidak akan berpengaruh setiap kali jalur memiliki pengguna atau grup yang valid. Dalam kasus tersebut, --numeric-ids harus ditentukan, atau pengguna atau grup harus dibersihkan oleh --map-user foo= atau --map-group foo= yang sesuai.

Hardlink juga akan dipulihkan jika memungkinkan, tetapi setidaknya saat ini, tidak ada tautan yang akan dibuat ke target di luar pohon pemulihan, dan jika pohon pemulihan mencakup susunan sistem file yang berbeda dari pohon penyimpanan, beberapa kumpulan hardlink mungkin tidak dipulihkan sepenuhnya.

Perhatikan juga bahwa mengubah kumpulan hardlink pada disk antara indeks dan penyimpanan dapat memberikan hasil yang tidak diharapkan. Dengan implementasi saat ini, bup akan mencoba untuk membuat ulang set hardlink yang diberikan seperti yang ada pada waktu indeks, bahkan jika semua file di set tidak masih di-hardlink (tetapi sebaliknya identik) pada waktu hemat.

Perhatikan bahwa selama proses pemulihan, akses ke data di dalam pohon pemulihan mungkin lebih permisif daripada di sumber aslinya. Kecuali jika keamanan tidak relevan, Anda harus memulihkan ke subdirektori pribadi, lalu memindahkan pohon yang dihasilkan ke posisi akhirnya. Lihat bagian CONTOH untuk demonstrasi.

PILIHAN

-r, --remote=host:path

pulihkan set cadangan dari server jarak jauh yang diberikan. Jika jalur dihilangkan, gunakan jalur default di server jarak jauh (Anda masih harus menyertakan `:'). Koneksi ke server jarak jauh dilakukan dengan SSH. Jika Anda ingin menentukan port, pengguna, atau kunci pribadi mana yang akan digunakan untuk koneksi SSH, kami sarankan Anda menggunakan file ~/.ssh/config.

-C, --outdir=outdir

buat dan ubah ke direktori outdir sebelum mengekstrak file.

--numeric-ids

pulihkan ID numerik (pengguna, grup, dll.) daripada nama.

--exclude-rx=pattern

mengecualikan semua pattern yang cocok dengan jalur, yang harus berupa ekspresi reguler Python (http://docs.python.org/library/re.html). Pola akan dibandingkan dengan path lengkap yang di-root di bagian atas pohon pemulihan, tanpa jangkar, jadi "x/y" akan cocok dengan "ox/yard" atau "box/yards". Untuk mengecualikan konten /tmp, tetapi bukan direktori itu sendiri, gunakan “^/tmp/. ”. (dapat ditentukan lebih dari satu kali)

Perhatikan bahwa akar pohon pemulihan (yang cocok dengan `^/') adalah bagian atas pohon arsip yang sedang dipulihkan, dan tidak ada hubungannya dengan tujuan sistem file. Diberikan “restore ... /foo/latest/etc/ ”, pola `^/passwd$' akan cocok jika file bernama passwd telah disimpan sebagai `/foo/latest/etc/passwd'.

Contoh:

/foo$

kecualikan file apa pun yang bernama foo

/foo/$

mengecualikan setiap direktori bernama foo

/foo/.

mengecualikan isi dari setiap direktori bernama foo

^/tmp/.

mengecualikan konten tingkat root /tmp, tetapi tidak /tmp itu sendiri

--exclude-rx-from=filename

baca pola –exclude-rx dari nama file, satu pola per baris (dapat diulang). Abaikan baris yang benar-benar kosong.

--sparse

tulis data keluaran jarang jika masuk akal. Saat ini, masuk akal hanya berarti “setidaknya setiap kali ada 512 atau lebih angka nol yang berurutan”.

--map-user old=new

untuk setiap jalur, pulihkan nama pengguna lama (yang disimpan) sebagai baru. Menentukan “ ” untuk baru akan menghapus pengguna. Misalnya “–map-user foo= ” akan memungkinkan uid berlaku untuk jalur apa pun yang awalnya memiliki pengguna “foo ”, kecuali jika diganti dengan spesifikasi “–map-user foo=... ” berikutnya. Lihat DESKRIPSI di atas untuk informasi lebih lanjut.

--map-group old=new

untuk setiap jalur, pulihkan nama grup lama (tersimpan) sebagai baru. Menentukan “ ” untuk baru akan menghapus grup. Misalnya “–map-group foo= ” akan memungkinkan gid berlaku untuk setiap jalur yang awalnya memiliki grup “foo ”, kecuali jika diimbangi dengan spesifikasi “–map-group foo=... ” berikutnya. Lihat DESKRIPSI di atas untuk informasi lebih lanjut.

--map-uid old=new

untuk setiap jalur, pulihkan uid lama (disimpan) sebagai baru, kecuali diganti dengan “–map-uid lama=... " pilihan. Perhatikan bahwa uid hanya akan relevan untuk jalur tanpa pengguna. Lihat DESKRIPSI di atas untuk informasi lebih lanjut.

--map-gid old=new

untuk setiap jalur, pulihkan gid lama (disimpan) sebagai baru, kecuali diganti dengan “–map-gid lama=... " pilihan. Perhatikan bahwa gid hanya akan relevan untuk jalur tanpa pengguna. Lihat DESKRIPSI di atas untuk informasi lebih lanjut.

-v, --verbose

meningkatkan keluaran log. Diberikan sekali, cetak setiap direktori saat dipulihkan; diberikan dua kali, mencetak setiap file dan direktori.

-q, --quiet

menekan keluaran, termasuk pengukur kemajuan. Biasanya, jika stderr adalah tty, pengukur kemajuan menampilkan jumlah total file yang dipulihkan.

CONTOH

Buat set cadangan pengujian sederhana:

$ bup index -u /etc
$ bup save -n mybackup /etc/passwd /etc/profile

Pulihkan hanya satu file:

$ bup restore /mybackup/latest/etc/passwd
Restoring: 1, done.

$ ls -l passwd
-rw-r--r-- 1 apenwarr apenwarr 1478 2010-09-08 03:06 passwd

Pulihkan dll untuk menguji (tanpa garis miring):

$ bup restore -C test /mybackup/latest/etc
Restoring: 3, done.

$ find test
test
test/etc
test/etc/passwd
test/etc/profile

Pulihkan konten dll untuk menguji (garis miring tambahan):

$ bup restore -C test /mybackup/latest/etc/
Restoring: 2, done.

$ find test
test
test/passwd
test/profile

Pulihkan konten metadata etc dan etc untuk diuji (diikuti "/."):

$ bup restore -C test /mybackup/latest/etc/.
Restoring: 2, done.

# At this point test and etc's metadata will match.
$ find test
test
test/passwd
test/profile

Pulihkan pohon tanpa risiko akses tidak sah:

# mkdir --mode 0700 restore-tmp

# bup restore -C restore-tmp /somebackup/latest/foo
Restoring: 42, done.

# mv restore-tmp/foo somewhere

# rmdir restore-tmp

Pulihkan pohon, memetakan ulang pengguna dan grup lama ke pengguna dan grup baru:

# ls -l /original/y
-rw-r----- 1 foo baz  3610 Nov  4 11:31 y
# bup restore -C dest --map-user foo=bar --map-group baz=bax /x/latest/y
Restoring: 42, done.
# ls -l dest/y
-rw-r----- 1 bar bax  3610 Nov  4 11:31 y

Mengembalikan pohon, memetakan ulang uid lama ke uid baru. Perhatikan bahwa pengguna lama harus dihapus sehingga bup tidak akan memilihnya daripada uid:

# ls -l /original/y
-rw-r----- 1 foo baz  3610 Nov  4 11:31 y
# ls -ln /original/y
-rw-r----- 1 1000 1007  3610 Nov  4 11:31 y
# bup restore -C dest --map-user foo= --map-uid 1000=1042 /x/latest/y
Restoring: 97, done.
# ls -ln dest/y
-rw-r----- 1 1042 1007  3610 Nov  4 11:31 y

Cara alternatif untuk melakukan hal yang sama dengan membatalkan pengguna/grup secara universal dengan --numeric-ids:

# bup restore -C dest --numeric-ids --map-uid 1000=1042 /x/latest/y
Restoring: 97, done.

LIHAT JUGA

bup-save(1), bup-ftp(1), bup-fuse(1), bup-web(1)

BUP

Bagian dari paket bup(1).

PENULIS

Avery Pennarun .