<Sebelumnya | Konten | Selanjutnya>
Meskipun Linux adalah salah satu sistem operasi teraman yang pernah ada, dan bahkan jika dirancang untuk terus berjalan, data dapat hilang. Kehilangan data paling sering merupakan konsekuensi dari kesalahan pengguna, tetapi terkadang kesalahan sistem, seperti kegagalan daya atau disk, adalah penyebabnya, jadi sebaiknya simpan salinan ekstra dari data sensitif dan/atau penting.
9.1.1. Mempersiapkan data Anda
9.1.1.1. Pengarsipan dengan tar
Dalam kebanyakan kasus, pertama-tama kami akan mengumpulkan semua data untuk dicadangkan dalam satu file arsip, yang akan kami kompres nanti. Proses pengarsipan melibatkan penggabungan semua file yang terdaftar dan menghilangkan bagian yang tidak perlu. Di Linux, ini biasanya dilakukan dengan ter perintah. ter awalnya dirancang untuk mengarsipkan data pada kaset, tetapi juga dapat membuat arsip, yang dikenal sebagai tarballs.
tar memiliki banyak opsi, yang paling penting dikutip di bawah ini:
• -v: bertele-tele
• -t: tes, menunjukkan isi tarball
• -x: ekstrak arsip
• -c: buat arsip
• -f archivedevice: gunakan archivedevice sebagai sumber/tujuan tarball, perangkat default ke perangkat tape pertama (biasanya /dev/st0 atau yang serupa)
• -j: menyaring melalui bzip2, lihat Bagian 9.1.1.2
Adalah umum untuk mengabaikan awalan tanda hubung dengan ter pilihan, seperti yang Anda lihat dari contoh di bawah ini.
Gunakan tar GNU untuk kompatibilitas
Arsip dibuat dengan hak milik ter versi pada satu sistem, mungkin tidak kompatibel dengan ter pada sistem kepemilikan lain. Ini dapat menyebabkan banyak sakit kepala, seperti jika arsip perlu dipulihkan
pada sistem yang tidak ada lagi. Gunakan GNU ter versi di semua sistem untuk mencegah admin sistem Anda menangis. Linux selalu menggunakan tar GNU. Saat bekerja pada mesin UNIX lain, masukkan ter --membantu untuk mengetahui versi mana yang Anda gunakan. Hubungi admin sistem Anda jika Anda tidak melihat kata GNU di suatu tempat.
Pada contoh di bawah ini, arsip dibuat dan dibongkar.
gaby:~> ls gambar/
saya+tux.jpg nimf.jpg
gaby:~> tar cvf gambar-dalam-a-dir.tar gambar/
gambar/ gambar/nimf.jpg gambar/me+tux.jpg
gaby:~> gambar cd
gaby:~/gambar> tar cvf images-tanpa-a-dir.tar *.jpg
saya+tux.jpg nimf.jpg
gaby:~/gambar> cd
gaby:~> ls */*.tar
gambar/gambar-tanpa-dir.tar
gaby:~> ls *.tar
gambar-di-dir.tar
gaby:~> tar xvf gambar-in-a-dir.tar
gambar/ gambar/nimf.jpg gambar/me+tux.jpg
gaby:~> tar tvf gambar/gambar-tanpa-dir.tar
-rw-r--r-- gaby/gaby 42888 1999-06-30 20:52:25 saya+tux.jpg
-rw-r--r-- gaby/gaby 7578 2000-01-26 12:58:46 nimf.jpg
gaby:~> tar xvf gambar/gambar-tanpa-dir.tar
saya+tux.jpg nimf.jpg
gaby:~> ls *.jpg
saya+tux.jpg nimf.jpg
gaby:~> ls gambar/
saya+tux.jpg nimf.jpg
gaby:~> tar cvf gambar-dalam-a-dir.tar gambar/
gambar/ gambar/nimf.jpg gambar/me+tux.jpg
gaby:~> gambar cd
gaby:~/gambar> tar cvf images-tanpa-a-dir.tar *.jpg
saya+tux.jpg nimf.jpg
gaby:~/gambar> cd
gaby:~> ls */*.tar
gambar/gambar-tanpa-dir.tar
gaby:~> ls *.tar
gambar-di-dir.tar
gaby:~> tar xvf gambar-in-a-dir.tar
gambar/ gambar/nimf.jpg gambar/me+tux.jpg
gaby:~> tar tvf gambar/gambar-tanpa-dir.tar
-rw-r--r-- gaby/gaby 42888 1999-06-30 20:52:25 saya+tux.jpg
-rw-r--r-- gaby/gaby 7578 2000-01-26 12:58:46 nimf.jpg
gaby:~> tar xvf gambar/gambar-tanpa-dir.tar
saya+tux.jpg nimf.jpg
gaby:~> ls *.jpg
saya+tux.jpg nimf.jpg
Contoh ini juga mengilustrasikan perbedaan antara direktori ber-tar dan sekumpulan file ber-tar. Disarankan untuk hanya mengompresi direktori, sehingga file tidak menyebar ke mana-mana saat membongkar tarball (yang mungkin ada di sistem lain, di mana Anda mungkin tidak tahu file mana yang sudah ada dan file mana yang berasal dari arsip).
Ketika tape drive terhubung ke mesin Anda dan dikonfigurasi oleh administrator sistem Anda, nama file berakhiran .ter diganti dengan nama alat pita, misalnya:
ter cvf /dev/rekaman surat/
Direktori surat dan semua file yang dikandungnya dikompres menjadi file yang langsung tertulis di kaset. Daftar konten ditampilkan karena kami menggunakan opsi verbose.
9.1.1.2. Cadangan tambahan dengan tar
The ter alat mendukung pembuatan cadangan tambahan, menggunakan -N pilihan. Dengan opsi ini, Anda dapat menentukan tanggal, dan ter akan memeriksa waktu modifikasi semua file yang ditentukan terhadap tanggal ini. Jika file diubah lebih baru dari tanggal, mereka akan disertakan dalam cadangan. Contoh di bawah ini menggunakan stempel waktu pada arsip sebelumnya sebagai nilai tanggal. Pertama, arsip awal dibuat dan stempel waktu pada file cadangan awal ditampilkan. Kemudian file baru dibuat, di mana kami mengambil cadangan baru, yang hanya berisi file baru ini:
jimmy:~> tar cvpf /var/tmp/javaproggies.tar java/*.java
java/btw.java java/error.java java/hello.java java/penghasilan2.java java/penghasilan.java java/inputdevice.java java/input.java java/master.java java/method1.java java/mood.java java/moodywaitress.java java/test3.java java/TestOne.java java/TestTwo.java java/Vehicle.java
jimmy:~> ls -l /var/tmp/javaproggies.tar
-rw-rw-r-- 1 jimmy jimmy 10240 21 Jan 11:58 /var/tmp/javaproggies.tar jimmy:~> sentuh java/newprog.java
jimmy:~> tar -N /var/tmp/javaproggies.tar \
-cvp /var/tmp/incremental1-javaproggies.tar java/*.java 2> /dev/null
java/prog baru.java jimmy:~> cd /var/tmp/
jimmy:~> tar xvf inkremental1-javaproggies.tar
java/prog baru.java
jimmy:~> tar cvpf /var/tmp/javaproggies.tar java/*.java
java/btw.java java/error.java java/hello.java java/penghasilan2.java java/penghasilan.java java/inputdevice.java java/input.java java/master.java java/method1.java java/mood.java java/moodywaitress.java java/test3.java java/TestOne.java java/TestTwo.java java/Vehicle.java
jimmy:~> ls -l /var/tmp/javaproggies.tar
-rw-rw-r-- 1 jimmy jimmy 10240 21 Jan 11:58 /var/tmp/javaproggies.tar jimmy:~> sentuh java/newprog.java
jimmy:~> tar -N /var/tmp/javaproggies.tar \
-cvp /var/tmp/incremental1-javaproggies.tar java/*.java 2> /dev/null
java/prog baru.java jimmy:~> cd /var/tmp/
jimmy:~> tar xvf inkremental1-javaproggies.tar
java/prog baru.java
Kesalahan standar dialihkan ke / dev / null. Jika Anda tidak melakukan ini, ter akan mencetak pesan untuk setiap file yang tidak diubah, memberi tahu Anda bahwa itu tidak akan dibuang.
Cara kerja ini memiliki kelemahan yaitu terlihat pada cap waktu pada file. Katakanlah Anda mengunduh arsip ke direktori yang berisi cadangan Anda, dan arsip itu berisi file yang telah dibuat dua tahun lalu. Saat memeriksa stempel waktu file-file itu dengan stempel waktu pada arsip awal, file-file baru itu sebenarnya akan tampak tua. ter, dan tidak akan disertakan dalam cadangan tambahan yang dibuat menggunakan -N .
Pilihan yang lebih baik adalah -g opsi, yang akan membuat daftar file untuk dicadangkan. Saat membuat cadangan inkremental, file diperiksa berdasarkan daftar ini. Begini Cara kerjanya:
jimmy:~> tar cvpf work-20030121.tar -g snapshot-20030121 work/
kerja/kerja/file1 kerja/file2 kerja/file3
jimmy:~> file cuplikan-20030121
jimmy:~> tar cvpf work-20030121.tar -g snapshot-20030121 work/
kerja/kerja/file1 kerja/file2 kerja/file3
jimmy:~> file cuplikan-20030121
snapshot-20030121: ASCII teks Hari berikutnya, pengguna jimmy bekerja pada file3 sedikit lagi, dan menciptakan file4. Pada akhirnya, dia membuat cadangan baru:
jimmy:~> tar cvpf work-20030122.tar -g snapshot-20030121 work/
kerja/kerja/file3 kerja/file4
jimmy:~> tar cvpf work-20030122.tar -g snapshot-20030121 work/
kerja/kerja/file3 kerja/file4
Ini adalah beberapa contoh yang sangat sederhana, tetapi Anda juga dapat menggunakan perintah semacam ini di cronjob (lihat Bagian 4.4.4), yang menetapkan, misalnya, file snapshot untuk cadangan mingguan dan satu untuk cadangan harian.
File snapshot harus diganti saat mengambil cadangan penuh, dalam hal ini. Informasi lebih lanjut dapat ditemukan di ter dokumentasi.
Hal yang nyata
Seperti yang mungkin Anda perhatikan, ter tidak apa-apa ketika kita berbicara tentang direktori sederhana, satu set file yang dimiliki bersama. Namun, ada alat yang lebih mudah untuk dikelola bila Anda ingin mengarsipkan seluruh partisi atau disk atau proyek yang lebih besar. Kami hanya menjelaskan tentang ter di sini karena ini adalah alat yang sangat populer untuk mendistribusikan arsip. Ini akan terjadi cukup sering bahwa Anda perlu menginstal perangkat lunak yang datang dalam a
yang disebut "tarbal terkompresi". Lihat Bagian 9.3 untuk cara yang lebih mudah dalam melakukan pencadangan reguler.
9.1.1.3. Mengompresi dan membongkar dengan gzip atau bzip2
Data, termasuk tarball, dapat dikompresi menggunakan alat zip. NS gzip perintah akan menambahkan akhiran .gz ke nama file dan menghapus file asli.
jimmy:~> ls -la | grep tar
-rw-rw-r-- 1 jimmy jimmy 61440 Jun 6 14:08 gambar-tanpa-dir.tar jimmy:~> gzip gambar-tanpa-dir.tar
jimmy:~> ls -la gambar-tanpa-dir.tar.gz
-rw-rw-r-- 1 jimmy jimmy 50562 6 Jun 14:08 gambar-tanpa-dir.tar.gz
jimmy:~> ls -la | grep tar
-rw-rw-r-- 1 jimmy jimmy 61440 Jun 6 14:08 gambar-tanpa-dir.tar jimmy:~> gzip gambar-tanpa-dir.tar
jimmy:~> ls -la gambar-tanpa-dir.tar.gz
-rw-rw-r-- 1 jimmy jimmy 50562 6 Jun 14:08 gambar-tanpa-dir.tar.gz
Buka kompres file yang di-gzip dengan -d .
bzip2 bekerja dengan cara yang sama, tetapi menggunakan algoritma kompresi yang ditingkatkan, sehingga membuat file yang lebih kecil. Lihat halaman info bzip2 untuk informasi lebih lanjut.
Paket perangkat lunak Linux sering didistribusikan dalam tarball gzip. Hal yang masuk akal untuk dilakukan setelah membongkar arsip semacam itu adalah menemukan README dan membacanya. Biasanya berisi panduan untuk menginstal paket.
GNU ter perintah mengetahui file yang di-gzip. Gunakan perintah
ter zxvf file.tar.gz
untuk membuka ritsleting dan membuka tarring .tar.gz or . Tgz file. Menggunakan
ter file jxvf.tar.bz2
untuk membongkar ter arsip yang dikompresi dengan bzip2.
9.1.1.4. arsip Jawa
Proyek GNU memberi kita guci alat untuk membuat arsip Java. Ini adalah aplikasi Java yang menggabungkan beberapa file menjadi satu file arsip JAR. Sementara juga menjadi alat pengarsipan dan kompresi tujuan umum, berdasarkan format kompresi ZIP dan ZLIB, guci terutama dirancang untuk memfasilitasi pengemasan kode Java, applet dan/atau aplikasi dalam satu file. Saat digabungkan dalam satu arsip, komponen aplikasi Java dapat diunduh lebih cepat.
Berbeda ter, guci kompres secara default, independen dari alat lain - karena pada dasarnya ini adalah versi Java dari zip. Selain itu, memungkinkan entri individu dalam arsip untuk ditandatangani oleh penulis, sehingga asal dapat diautentikasi.
Sintaksnya hampir identik dengan ter perintah, kami merujuk ke Info guci untuk perbedaan spesifik.
tar, toples, dan tautan simbolik
Satu fitur penting yang tidak disebutkan dalam dokumentasi standar adalah bahwa guci akan mengikuti tautan simbolik. Data yang ditunjuk oleh tautan ini akan disertakan dalam arsip. Default di ter adalah hanya mencadangkan tautan simbolik, tetapi perilaku ini dapat diubah menggunakan -h untuk ter.
9.1.1.5. Mengangkut data Anda