Duplicity - Buat sandaran tambahan yang disulitkan di Linux

Duplicity - Buat sandaran tambahan yang disulitkan di Linux

Pengalaman menunjukkan bahawa anda tidak boleh terlalu paranoid mengenai sandaran sistem. Ketika datang untuk melindungi dan memelihara data berharga, sebaiknya pergi lebih jauh dan pastikan anda boleh bergantung pada sandaran anda jika keperluan timbul.

Malah pada hari ini, apabila beberapa pembekal awan dan hosting menawarkan sandaran automatik untuk VPS dengan kos yang agak rendah, anda akan melakukannya dengan baik untuk membuat strategi sandaran anda sendiri menggunakan alat anda sendiri untuk menjimatkan wang dan kemudian menggunakannya untuk membeli storan tambahan atau Dapatkan VP yang lebih besar.

[Anda mungkin juga suka: 25 utiliti sandaran yang luar biasa untuk sistem linux]

Bunyinya menarik? Dalam artikel ini, kami akan menunjukkan kepada anda cara menggunakan alat yang dipanggil Duplicity untuk membuat sandaran dan menyulitkan fail dan direktori. Di samping itu, menggunakan sandaran tambahan untuk tugas ini akan membantu kami menjimatkan ruang.

Yang berkata, mari kita mulakan.

Memasang Alat Backup Duplicity di Linux

Untuk memasang Duplicity dalam distro berasaskan RHEL, anda perlu membolehkan Epel repositori pertama (anda boleh menghilangkan langkah ini jika anda menggunakan Fedora itu sendiri):

# yum update # yum pasang epel-release atau # yum install https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Noarch.rpm 

Kemudian lari,

# yum memasang duplikat 

Untuk Debian dan Derivatif:

$ sudo apt update $ sudo apt memasang duplikat 

Secara teori, banyak kaedah untuk menyambung ke pelayan fail disokong walaupun hanya SSH/SCP/SFTP, Akses Fail Tempatan, RSYNC, FTP, HSI, WebDAV, dan Amazon S3 telah diuji dalam amalan setakat ini.

Setelah pemasangan selesai, kami akan menggunakan secara eksklusif sftp Dalam pelbagai senario, kedua -duanya untuk menyandarkan dan memulihkan data.

Persekitaran ujian kami terdiri daripada RHEL 8 kotak (disandarkan) dan a Debian 11 mesin (pelayan sandaran).

Membuat kekunci SSH untuk log masuk tanpa kata laluan ke pelayan jauh

Mari kita mulakan dengan membuat kunci SSH di kotak RHEL kami dan memindahkannya ke Debian pelayan sandaran.

Sekiranya anda menjalankan SSH di port yang berbeza, maka perintah di bawah menganggap SSHD Daemon sedang mendengar di pelabuhan Xxxxx Di pelayan Debian. Menggantikan Aaa.BBB.CCC.DDD dengan IP sebenar pelayan jauh.

# ssh-keygen -t rsa # ssh-copy-id [e-mel dilindungi] # ssh-copy-id -p xxxxx [dilindungi e-mel] 

Kemudian anda harus memastikan bahawa anda boleh menyambung ke pelayan sandaran tanpa menggunakan kata laluan:

# ssh [dilindungi e -mel] 
Log masuk jauh tanpa kata laluan SSH

Sekarang kita perlu membuat GPG Kekunci yang akan digunakan untuk penyulitan dan penyahsulitan data kami:

# gpg2 --full-gen-key 

Anda akan diminta masuk:

  • Jenis kunci
  • Saiz utama
  • Berapa lama kunci harus sah
  • Frasa laluan
Buat kekunci RSA GPG di Linux

Untuk membuat entropi yang diperlukan untuk penciptaan kunci, anda boleh log masuk ke pelayan melalui tetingkap terminal yang lain dan melaksanakan beberapa tugas atau menjalankan beberapa arahan untuk menjana entropi (jika tidak, anda perlu menunggu lama untuk bahagian ini proses selesai).

Sebaik sahaja kunci telah dihasilkan, anda boleh menyenaraikannya seperti berikut:

# GPG-LIST-KEYS 
Senaraikan kekunci GPG

Rentetan yang diserlahkan dalam kuning di atas dikenali sebagai ID Utama Awam, dan merupakan hujah yang diminta untuk menyulitkan fail anda.

Membuat sandaran Linux dengan Duplikat

Untuk memulakan dengan mudah, mari kita sandarkan hanya /var/log direktori, kecuali /var/log/anaconda dan /var/log/sa.

Oleh kerana ini adalah sandaran pertama kami, ia akan menjadi yang penuh. Larian seterusnya akan membuat sandaran tambahan (kecuali jika kami menambah pilihan penuh tanpa sengkang tepat di sebelah Duplicity dalam arahan di bawah):

# Passphrase = "Tecmint" Duplicity --Encrypt-Key 115B4BB13BC768B8B2704E5663C429C3DB8BAD3B --exclude/var/log/anaconda --exclude/var/sa/var Passphrase = "yourpassphrasehere" duplicity --crypt-key yourpublickeyidhere --exclude/var/log/anaconda --exclude/var/log/sa/var/log scp: // [e-mel dilindungi]: xxxxx // backups/rhel8 

Pastikan anda tidak terlepas slash ganda dalam perintah di atas! Mereka digunakan untuk menunjukkan jalan mutlak ke direktori yang dinamakan /sandaran/rhel8 di kotak sandaran dan di mana fail sandaran akan disimpan.

Menggantikan Yourpassphrasehere, Yourpublickeyidhere, dan Remoteserver Dengan frasa laluan yang anda masuk.

Output anda sepatutnya sama dengan imej berikut:

Buat sandaran menggunakan duplikat

Imej di atas menunjukkan bahawa jumlah 86.3 mb disokong ke dalam 3.22 Mb di destinasi. Mari beralih ke pelayan sandaran untuk menyemak sandaran kami yang baru dibuat:

Sahkan fail sandaran Linux

Larian kedua perintah yang sama menghasilkan saiz dan masa sandaran yang lebih kecil:

Compress sandaran

Memulihkan sandaran linux menggunakan duplikat

Untuk berjaya memulihkan fail, direktori dengan kandungannya, atau keseluruhan sandaran, destinasi tidak boleh wujud (Duplicity tidak akan menimpa fail atau direktori yang ada). Untuk menjelaskan, mari padamkan Cron Log masuk kotak CentOS:

# rm -f/var/log/cron 

Sintaks untuk memulihkan satu fail dari pelayan jauh adalah:

# Passphrase = "yourpassphrasehere" duplicity-file-to-restore filename sftp: // [e-mel dilindungi] // backups/rhel8/where/to/memulihkan/nama fail 

di mana,

  • nama fail adalah fail yang akan diekstrak, dengan jalan relatif ke direktori yang disokong
  • /di mana/ke/pulihkan adalah direktori dalam sistem tempatan di mana kami ingin memulihkan fail ke.

Dalam kes kami, untuk memulihkan log utama Cron dari sandaran jauh yang perlu kami jalankan:

# Passphrase = "YourPassphraseHere" Duplicity-File-to-Restore Cron Sftp: // [E-mel dilindungi]: xxxxx // backups/rhel8/var/log/cron 

Log Cron harus dipulihkan ke destinasi yang dikehendaki.

Begitu juga, jangan ragu untuk memadam direktori dari /var/log dan memulihkannya menggunakan sandaran:

# rm -rf/var/log/mail # passphrase = "yourpassphrasehere" duplicity --file-to-restore mail sftp: // [dilindungi e-mel]: xxxxx // backups/rhel8/var/log/mail/mail/mail 

Dalam contoh ini, mel Direktori harus dipulihkan ke lokasi asalnya dengan semua kandungannya.

Ciri -ciri lain dari Duplikat

Pada bila -bila masa anda boleh memaparkan senarai fail yang diarkibkan dengan arahan berikut:

# Duplicity List-Current-Files sftp: // [E-mel dilindungi]: xxxxx // backups/rhel8 

Padam sandaran lebih tua dari 6 bulan:

# Duplicity Remove-older-Than 6M SFTP: // [E-mel dilindungi]: xxxxx // sandaran/rhel8 

Pulihkan myfile direktori dalam Gacanepa kerana ia adalah 2 hari dan 12 jam yang lalu:

# Duplicity -t 2D12H-File-to-Restore Gacanepa/MyFile sftp: // [E-mel dilindungi]: xxxxx // remotedir/backups/home/gacanepa/myfile 

Dalam perintah terakhir, kita dapat melihat contoh penggunaan selang waktu (seperti yang ditentukan oleh -t): Satu siri pasangan di mana masing -masing terdiri daripada nombor yang diikuti oleh salah satu watak s, m, h, D, W, M, atau Y (Menunjukkan detik, minit, jam, hari, minggu, bulan, atau tahun masing -masing).

Ringkasan

Dalam artikel ini, kami telah menjelaskan cara menggunakan Duplicity, utiliti sandaran yang menyediakan penyulitan untuk fail dan direktori keluar dari kotak. Saya sangat mengesyorkan anda melihat laman web Projek Duplicity untuk dokumentasi dan contoh selanjutnya.

Kami telah menyediakan halaman lelaki dalam format PDF untuk kemudahan bacaan anda, juga merupakan panduan rujukan lengkap.

Jangan ragu untuk memberitahu kami jika anda mempunyai sebarang pertanyaan atau komen.