Duplicity - Buat cadangan tambahan terenkripsi di Linux

Duplicity - Buat cadangan tambahan terenkripsi di Linux

Pengalaman menunjukkan bahwa Anda tidak akan pernah terlalu paranoid tentang cadangan sistem. Ketika datang untuk melindungi dan melestarikan data yang berharga, yang terbaik adalah bekerja keras dan memastikan Anda dapat bergantung pada cadangan Anda jika diperlukan.

Bahkan hari ini, ketika beberapa penyedia cloud dan hosting menawarkan cadangan otomatis untuk VPS dengan biaya yang relatif rendah, Anda sebaiknya membuat strategi cadangan Anda sendiri menggunakan alat Anda sendiri untuk menghemat uang dan mungkin menggunakannya untuk membeli penyimpanan tambahan atau Dapatkan VPS yang lebih besar.

[Anda mungkin juga menyukai: 25 utilitas cadangan yang luar biasa untuk sistem Linux]

Kedengarannya menarik? Di artikel ini, kami akan menunjukkan kepada Anda cara menggunakan alat yang disebut Bermuka dua untuk mencadangkan dan mengenkripsi file dan direktori. Selain itu, menggunakan cadangan tambahan untuk tugas ini akan membantu kami menghemat ruang.

Yang mengatakan, mari kita mulai.

Menginstal Alat Cadangan Duplicity di Linux

Untuk menginstal bermuka dua dalam distro berbasis RHEL, Anda harus mengaktifkan Epel Repositori Pertama (Anda dapat menghilangkan langkah ini jika Anda menggunakan Fedora diri):

# YUM UPDATE # YUM Instal Epel-Release atau # YUM Instal https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Noarch.RPM 

Lalu lari,

# yum menginstal bermuka dua 

Untuk Debian dan Derivatif:

$ sudo apt update $ sudo apt install duplicity 

Secara teori, banyak metode untuk menghubungkan ke server file didukung meskipun hanya SSH/SCP/SFTP, akses file lokal, RSYNC, FTP, HSI, WebDAV, dan Amazon S3 telah diuji dalam praktik sejauh ini.

Setelah instalasi selesai, kami akan menggunakan secara eksklusif sftp dalam berbagai skenario, baik untuk membuat cadangan dan mengembalikan data.

Lingkungan pengujian kami terdiri dari RHEL 8 kotak (dicadangkan) dan a Debian 11 mesin (server cadangan).

Membuat tombol SSH untuk login tanpa kata sandi ke server jarak jauh

Mari kita mulai dengan membuat tombol SSH di kotak RHEL kami dan mentransfernya ke Debian server cadangan.

Jika Anda menjalankan SSH pada port yang berbeda, maka perintah di bawah ini mengasumsikan sshd Daemon mendengarkan di port Xxxxx di server Debian. Mengganti AAA.BBB.CCC.Ddd dengan IP aktual dari server jarak jauh.

# ssh-keygen -t RSA # ssh-copy-id [email dilindungi] # ssh-copy-id -p xxxxx [email dilindungi] 

Maka Anda harus memastikan bahwa Anda dapat terhubung ke server cadangan tanpa menggunakan kata sandi:

# ssh [email dilindungi] 
Login jarak jauh tanpa kata sandi SSH

Sekarang kita perlu membuat GPG kunci yang akan digunakan untuk enkripsi dan dekripsi data kami:

# gpg2 --full-gen-key 

Anda akan diminta untuk masuk:

  • Jenis kunci
  • Ukuran kunci
  • Berapa lama kunci harus valid
  • Sebuah frasa sandi
Buat kunci GPG RSA di Linux

Untuk membuat entropi yang diperlukan untuk pembuatan tombol, Anda dapat masuk ke server melalui jendela terminal lain dan melakukan beberapa tugas atau menjalankan beberapa perintah untuk menghasilkan entropi (jika tidak Anda harus menunggu waktu yang lama untuk bagian ini dari bagian ini proses untuk menyelesaikannya).

Setelah kunci dihasilkan, Anda dapat mencantumkannya sebagai berikut:

# GPG --Tlist-keys 
Sebutkan kunci GPG

String yang disorot berwarna kuning di atas dikenal sebagai ID kunci publik, dan merupakan argumen yang diminta untuk mengenkripsi file Anda.

Membuat cadangan linux dengan duplisitas

Untuk memulai yang sederhana, mari kita hanya mencadangkan /var/log direktori, dengan pengecualian /var/log/anaconda Dan /var/log/sa.

Karena ini adalah cadangan pertama kami, itu akan menjadi yang lengkap. Lari selanjutnya akan membuat cadangan tambahan (kecuali kami menambahkan opsi penuh tanpa tanda hubung tepat di sebelah duplikasi dalam perintah di bawah):

# Passphrase = "tecmint" duplicity --encrypt-key 115b4bb13bc768b8b8b2704e5663c429c3db8bad3b-exclude/var/log/anaconda-exclude/var/log/sa/var/log scp://log/anaconda-exclude/var/log/sa/var/log scp:/[log/anaconda-exclude/var/log/sa/var scp scp://log/anaconda-exclude/var/log/sa/var scp scp://[log anaconda]] Passphrase = "yourpassphraseHere" Duplicity --encrypt-key yourpublickeyidhere-exclude/var/log/anaconda-exclude/var/log/sa/var/log scp: // [email dilindungi]: xxxxx // cadangan/rhel8 

Pastikan Anda tidak melewatkan tebasan ganda dalam perintah di atas! Mereka digunakan untuk menunjukkan jalur absolut ke direktori bernama /cadangan/rhel8 di kotak cadangan dan di mana file cadangan akan disimpan.

Mengganti YourpassphraseHere, Yourpublickeyidhere, Dan Remoteser Dengan frasa sandi yang Anda masukkan sebelumnya, ID kunci publik GPG, dan dengan IP atau nama host dari server cadangan, masing -masing.

Output Anda harus mirip dengan gambar berikut:

Buat Cadangan Menggunakan Duplisitas

Gambar di atas menunjukkan bahwa total 86.3 MB didukung ke 3.22 MB di tujuan. Mari beralih ke server cadangan untuk memeriksa cadangan kami yang baru dibuat:

Konfirmasi file cadangan linux

Jalan kedua dari perintah yang sama menghasilkan ukuran dan waktu cadangan yang jauh lebih kecil:

Kompres cadangan

Memulihkan Cadangan Linux Menggunakan Duplisitas

Untuk berhasil mengembalikan file, direktori dengan isinya, atau seluruh cadangan, tujuan tidak boleh ada (duplik tidak akan menimpa file atau direktori yang ada). Untuk mengklarifikasi, mari kita hapus cron Masuk di kotak Centos:

# rm -f/var/log/cron 

Sintaks untuk mengembalikan satu file dari server jarak jauh adalah:

# Passphrase = "yourpassphraseHere" duplicity --file-to-restore nama file sftp: // [email dilindungi] // cadangan/rhel8/where/to/restore/filename 

Di mana,

  • nama file adalah file yang akan diekstraksi, dengan jalur relatif ke direktori yang didukung
  • /di mana/to/kembalikan adalah direktori dalam sistem lokal tempat kami ingin mengembalikan file.

Dalam kasus kami, untuk mengembalikan log utama cron dari cadangan jarak jauh yang perlu kami jalankan:

# Passphrase = "yourpassphraseHere" duplicity --file-to-restore cron sftp: // [email dilindungi]: xxxxx // cadangan/rhel8/var/log/cron 

Log cron harus dipulihkan ke tujuan yang diinginkan.

Demikian juga, jangan ragu untuk menghapus direktori dari /var/log dan kembalikan menggunakan cadangan:

# rm -rf/var/log/mail # passphrase = "yourpassphraseHere" duplicity --file-to-restore mail sftp: // [email dilindungi]: xxxxx // cadangan/rhel8/var/log/mail] 

Dalam contoh ini, surat Direktori harus dikembalikan ke lokasi aslinya dengan semua isinya.

Fitur lain dari bermuka dua

Kapan saja Anda dapat menampilkan daftar file yang diarsipkan dengan perintah berikut:

# Duplicity Daftar-Current-File SFTP: // [Email Dilindungi]: xxxxx // cadangan/rhel8 

Hapus cadangan yang lebih tua dari 6 bulan:

# Duplicity hapus lebih tua-dari 6m sftp: // [email dilindungi]: xxxxx // cadangan/rhel8 

Memulihkan file saya Direktori di dalam Gacanepa karena sudah 2 hari dan 12 jam yang lalu:

# Duplicity -T 2D12H --File-to-restore gacanepa/myfile sftp: // [email dilindungi]: xxxxx // remotedir/cadangan/home/gacanepa/myfile 

Dalam perintah terakhir, kita dapat melihat contoh penggunaan interval waktu (sebagaimana ditentukan oleh -T): Serangkaian pasangan di mana masing -masing terdiri dari angka diikuti oleh salah satu karakter S, M, H, D, W, M, atau Y (menunjukkan detik, menit, jam, hari, minggu, bulan, atau bertahun -tahun).

Ringkasan

Dalam artikel ini, kami telah menjelaskan cara menggunakan Duplicity, utilitas cadangan yang menyediakan enkripsi untuk file dan direktori di luar kotak. Saya sangat menyarankan Anda melihat situs web proyek Duplicity untuk dokumentasi dan contoh lebih lanjut.

Kami telah menyediakan halaman pria yang memiliki format PDF untuk kenyamanan membaca Anda, juga merupakan panduan referensi yang lengkap.

Jangan ragu untuk memberi tahu kami jika Anda memiliki pertanyaan atau komentar.