Cara Backup Dan Restore Data Menggunakan Restic Di Linux

Panduan ini menjelaskan apa itu Restic, cara install Restic di berbagai distro Linux, dan terakhir cara backup dan restore data menggunakan Restic di sistem operasi Linux. di LinuxBuat repositori lokal baruCadangkan data ke direktori lokal menggunakan snapshot ResticListPeriksa perbedaan antara dua snapshotKecualikan file dan folderPulihkan data menggunakan repositori ResticMount untuk melihat data cadanganHapus snapshotConclusionRestic – Aplikasi pencadangan yang cepat, aman, dan efisien

Restic adalah pencadangan cepat, sumber terbuka, aman, dan lintas platform program. Ini memungkinkan penyimpanan beberapa revisi file dan direktori dalam repositori terenkripsi yang disimpan di backend yang berbeda.

Restic menggunakan kriptografi untuk menjamin kerahasiaan dan integritas data Anda. Ini mengenkripsi data dengan AES-256 dalam mode penghitung dan mengotentikasinya menggunakan kode otentikasi pesan kriptografi Poly1305-AES.

Mencadangkan dan memulihkan data dengan Restic mudah dan sangat cepat! Itu hanya mentransfer file yang dimodifikasi (cadangan tambahan) seperti Rsync.

Menggunakan Restic, kita dapat dengan mudah membuat cadangan file dan direktori di disk lokal atau sistem jarak jauh, atau penyimpanan cloud. Restic mendukung backend penyimpanan cloud populer seperti AWS, Azure, BackBlaze, Google Cloud, OpenStack, dan beberapa lainnya.

Restic ditulis menggunakan bahasa pemrograman Go dan kode sumbernya tersedia secara gratis di GitHub. Ini adalah aplikasi pencadangan lintas platform. Mendukung GNU/Linux, macOS, FreeBSD, openBSD dan Microsoft Windows.
Install Restic Di Linux

Restic dikemas untuk sistem operasi Linux yang populer.

Install Restic di Alpine Linux:

$ sudo apk add restic

Install Restic di Arch Linux, EndeavourOS tersedia di repositori default Arch Linux. Pastikan repositori [Komunitas] diaktifkan dan instal Restic di Arch Linux dan variannya seperti EndeavourOS, Manjaro Linux menggunakan Pacman seperti gambar di bawah ini.

$ sudo pacman -S restic

Install Restic dari AUR:

Restic juga tersedia di AUR. Jadi, Anda dapat menginstalnya menggunakan pembantu AUR apa pun, seperti Paru atau Yay, di sistem berbasis Arch.

$ paru -S restic-git

Or,

$ yay -S restic-git

Instal Restic di Debian, Ubuntu, Linux Mint, Pop_OS !:

$ sudo apt-get install restic

Install Rest di Fedora:

$ Sudo dnf install restic

Install Restic di RHEL, CentOS, AlmaLinux dan Rocky Linux:

$ sudo dnf copr aktifkan copart/resn $ sudo eopkg install restic

Install Restic di Nix OS:

$ nix-env --install restic

Install Restic di openSUSE:

$ Sudo zypper install restic

Install restic menggunakan Linuxbrew:

<

pre>$ brew install sourceInstallbs brew install resticy dan instal seperti di bawah ini. Pertama, pastikan Anda telah menginstal bahasa Go di sistem Anda.
Cara Menginstal Bahasa Go Di Linux
Setelah Go diinstal, git clone restic github respository:

$ git clone https://github.com/restic/restic

Perintah ini akan mengkloning semua konten dari repositori restic di direktori kerja saat ini.

Cd ke direktori restic:

$ cd restic

Dan, instal Restic seperti di bawah ini:

$ jalankan build.go

Periksa versi Restic yang diinstal:

$ restic version restic 0.12.0 dikompilasi dengan go1.14.12 di linux/amd64

Update Restic

Jika Anda telah menginstal Restic dari repositori resmi, itu mungkin versi lama.

Untuk memperbarui Restic ke versi terbaru, jalankan:

$ sudo restic self-update

Sekarang periksa versinya dengan perintah:

$ restic version restic 0.12.1 dikompilasi dengan go1.16.6 di linux/amd64

Cadangkan dan pulihkan data menggunakan Restic di Linux

Restic mendukung backend berikut untuk menyimpan cadangan: direktori
Local, server sftp (melalui SSH), server HTTP REST, AWS S3, OpenStack Swift, BackBlaze B2, Penyimpanan Microsoft Azure Blob, Penyimpanan Google Cloud, Dan banyak layanan lainnya melalui rclone.
Sekarang, mari kita lihat cara backup dan restore data di direktori lokal.
Buat repositori lokal baru

Pertama, mari kita buat repositori untuk menyimpan backup. Sebagai contoh, saya akan membuat repositori bernama mybackup di direktori $HOME saya.

$ restic init --repo ~/mybackup

Masukkan kata sandi untuk repositori dua kali. Anda harus mengingat kata sandi untuk mengakses repositori ini nanti. Jika tidak, Anda akan kehilangan data yang disimpan dalam repositori secara permanen. Anda telah diperingatkan!

enter password untuk repositori baru: masukkan password lagi: buat repositori restic c1c5bcfdb8 di /home/sk/mybackup Harap dicatat bahwa pengetahuan tentang password Anda diperlukan untuk mengakses repositori. Kehilangan kata sandi Anda berarti data Anda hilang secara permanen.

Seperti yang Anda lihat pada output di atas, repositori restic lokal dengan ID c1c5bcfdb8 dibuat di /home/sk/mybackup location.

Sekarang saatnya untuk mencadangkan data Anda ke repositori yang baru dibuat .
Backup data ke direktori lokal menggunakan Restic

Saya akan mencadangkan seluruh direktori ~/mydata (termasuk direktori itu sendiri) ke repositori ~/mybackup menggunakan perintah:

$ restic -r ~/mybackup backup ~/mydata

Masukkan kata sandi repositori Anda :

Contoh output:

enter kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar, tidak ada snapshot induk yang ditemukan, akan membaca semua file File: 7 baru, 0 diubah, 0 tidak dimodifikasi Dir: 4 baru, 0 diubah, 0 tidak dimodifikasi Ditambahkan ke repo : 21,919 MiB memproses 7 file, 21,913 MiB dalam snapshot 0:00 7457d80e save

Seperti yang Anda lihat, restic membuat cadangan direktori yang diberikan yaitu mydata. Selain itu, saya membuat snapshot dari cadangan saat ini dengan nama unik 7457d80e.

Mari kita uraikan perintah di atas dan lihat apa yang dilakukan setiap opsi.
restic : Perintah restic-r : Menunjukkan repositori~/mybackup : Repositori namebackup – Sub- restic perintah untuk mem-backup file/folder~/mydata – Direktori ke backup.
Tambahkan lebih banyak file/folder di direktori backup. Misalnya, saya menambahkan file baru bernama vi editor.pdf di direktori ~/mydata. Sekarang, jalankan perintah restic yang sama lagi:

$ restic -r ~/mybackup backup ~/mydata masukkan kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar menggunakan snapshot induk 7457d80e File: 1 baru, 0 diubah, 7 Dir tidak dimodifikasi: 0 baru, 3 diubah, 1 tidak dimodifikasi Ditambahkan ke repo: 50,123 KiB memproses 8 file, 21,957 MiB dalam snapshot 0:00 963d4de3 save

Restic akan terus membuat snapshot baru dengan nama unik setiap kali kita menjalankannya.

Karena Restic melakukan pencadangan tambahan, selanjutnya backup akan lebih cepat dari backup sebelumnya. Kita dapat terus menambahkan data di folder cadangan dan menjalankan pencadangan untuk membuat banyak snapshot.

Tidak hanya direktori, Restic juga memungkinkan kita untuk mencadangkan file satu per satu.

$ restic -r ~/mybackup backup ~/mydata/vi editor.pdf 

Contoh keluaran:

enter kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar tidak ada snapshot induk yang ditemukan, akan membaca semua file File: 1 baru, 0 diubah, 0 tidak dimodifikasi Dir: 3 baru, 0 diubah, 0 tidak dimodifikasi Ditambahkan ke repo: 47.129 KiB memproses 1 file, 45.139 KiB dalam snapshot 0:00 59439d78 save

Seperti yang Anda lihat, snapshot baru bernama 59439d78 dibuat di repositori.
List snapshots

Untuk membuat daftar snapshot yang tersedia di repositori lokal, jalankan:

$ restic -r ~/mybackup snapshots

Contoh output:

enter kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar ID Waktu Tag Host Jalan -------------------------------------------------- --------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata 963d4de3 2021-08-13 12:57:55 ostechnix /home/sk/mydata ------------------------------------------------------ --------------------------- 2 snapshots

Seperti yang Anda lihat, saya memiliki 2 snapshot, yaitu 7457d80e dan 963d4de3.
Periksa perbedaan antara dua snapshot

Untuk memeriksa perbedaannya di antara dua snapshot, kita dapat menggunakan opsi diff seperti di bawah ini:

$ restic -r ~/mybackup diff 7457d80e963d4de3

Perintah ini membandingkan dua snapshot yang diberikan dan mencantumkan perbedaannya yaitu file mana yang ditambahkan, berapa banyak file dan direktori yang dihapus dari repositori.

enter kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar membandingkan snapshot 7457d80e dengan 963d4de3: + /home/sk/mydata/vi editor.pdf File: 1 baru, 0 dihapus, 0 diubah Dir: 0 baru, 0 dihapus Lainnya: 0 baru, 0 dihapus Data Blobs: 1 baru, 0 dihapus Tree Blobs: 4 baru, 4 dihapus Ditambahkan: 50,123 KiB Dihapus: 4,511 KiB

Seperti yang Anda lihat, saya telah menambahkan file pdf baru di backup.
Kecualikan file dan folder

Ini juga memungkinkan untuk mengecualikan beberapa file atau direktori. Misalnya perintah berikut akan mengecualikan semua file jenis .doc:

$ restic -r ~/mybackup backup --exclude=*.doc ~/mydata

Atau, Anda dapat menempatkan lokasi sebenarnya dari semua file dan folder yang ingin Anda kecualikan backup dalam file dan tentukan path-nya di perintah backup.

Misalnya, buat file dengan namaexclude:

$ viexclude.txt

Tambahkan file atau folder yang ingin Anda kecualikan:

*.txt ostechnix.zip mydata/movies

Sekarang, mulai proses backup menggunakan perintah:

$ restic -r ~/backup backup --exclude-file=exclude.txt ~/mydata

Untuk lebih jelasnya tentang perintah restic backup, jalankan:

$ restic help backup

Sekarang, kita telah berhasil membackup data kita. Selanjutnya kita akan melihat bagaimana cara restore data dari local backup.
Restore data menggunakan Restic

Restore data itu mudah!

Pertama, daftar snapshot yang tersedia dari repositori menggunakan perintah:

$ restic -r ~/mybackup snapshots

Untuk memulihkan data dari snapshot tertentu, misalnya 7457d80e, jalankan:

$ restic -r ~/mybackup restore 7457d80e --target ~/ mydata

Contoh output:

enter kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar memulihkan ke /home/sk/mydata

Kami baru saja memulihkan data dari snapshot 7457d80e ke direktori ~/mydata.

Untuk memulihkan satu file dari snapshot, kami melakukan:

$ restic -r ~/mybackup restore 7457d80e --target ~/mydata file.json

Untuk lebih jelasnya, periksa bagian bantuan perintah restore.

$ restic help restore

Mount repositori untuk melihat data cadangan

Anda dapat menelusuri cadangan sebagai sistem file biasa. Ini berguna ketika Anda ingin melihat isi repositori.

Pertama, buat titik pemasangan:

$ mkdir ostechnix

Kemudian, pasang repositori Anda pada titik pemasangan ostechnix seperti yang ditunjukkan di bawah ini.

<

pre>$ restic -r ~/mybackup mount ostechnix/yy akanpre
Ini mount repositori Restic di filesystem.

enter lokal Anda kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar Sekarang sajikan repositori di ostechnix/ Setelah selesai, keluar dengan Ctrl-c atau umount mountpoint.

Sekarang, buka pengelola file Anda dan Anda akan melihat bahwa repositori Anda sudah terpasang di sana. Masuk ke folder snapshots dan verifikasi data.

Setelah selesai, tekan Ctrl-c untuk keluar atau umount mountpoint dari File manager.

Untuk lebih jelasnya, periksa bagian bantuan:

$ restic help mount

Hapus snapshot

Pertama, daftar semua yang tersedia snapshot dalam repositori:

$ restic -r ~/mybackup snapshots masukkan kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar ID Waktu Host Tag Paths ------------------ -------------------------------------------------- -- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata 963d4de3 2021-08-13 12:57:55 ostechnix /home/sk/mydata ------------ -------------------------------------------------- -------- 2 snapshots

Untuk menghapus snapshot, misalnya 963d4de3, jalankan:

$ restic -r ~/mybackup lupa 963d4de3

Contoh output:

enter password untuk repositori: repositori c1c5bcfd berhasil dibuka, pas pedang benar [0:00] 100,00% 1 / 1 file dihapus

Periksa apakah snapshot dihapus atau tidak:

$ restic -r ~/mybackup snapshots masukkan kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar ID Waktu Host Tag Paths -------------------------------------------------- -------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata ------------ -------------------------------------------------- -------- 1 snapshots

Snapshot hilang! Namun, data yang dirujuk oleh file dalam snapshot ini masih disimpan di repositori.

Untuk membersihkan data yang tidak direferensikan, jalankan:

$ restic -r ~/mybackup prune

Contoh output:

enter kata sandi untuk repositori: repositori c1c5bcfd berhasil dibuka, kata sandi benar memuat indeks... memuat semua snapshot... menemukan data yang masih digunakan untuk 1 snapshot [0:00] 100,00% 1 / 1 snapshot mencari paket bekas... mengumpulkan paket untuk dihapus dan dikemas ulang [0:00] 100,00% 8 / 8 paket diproses untuk dikemas ulang: 0 gumpalan / 0 B ini menghilangkan 0 gumpalan / 0 B yang akan dihapus: 5 gumpalan / 50.279 KiB total pemangkasan: 5 gumpalan / sisa 50.279 KiB: 25 gumpalan / 21.919 MiB ukuran tidak terpakai setelah pemangkasan: 0 B (0,00% dari ukuran yang tersisa) indeks pembangunan kembali [0:00] 100,00% 6 / 6 paket diproses menghapus file indeks usang [0:00] 100,00% 3 / 3 file dihapus menghapus 2 paket lama [0:00] 100,00% 2 / 2 file dihapus done

Setelah menghapus semua snapshot dan data terkait, Anda dapat menghapus repositori.

$ rm -fr ~/mybackup/

Kesimpulan

Anda sekarang tahu cara menginstal dan menggunakan program cadangan Restic untuk melindungi data penting Anda. Kami hanya membahas cara bakup file dan folder ke direktori lokal dengan Restic. Masih ada lagi! Dalam panduan kami yang akan datang, kami akan melihat cara mencadangkan data ke sistem jarak jauh dan penyimpanan cloud.

Saya juga menyarankan Anda untuk memeriksa dokumentasi resmi Restic untuk penggunaan lebih rinci.

Resources:
Restic websiteRestic GitHub Repository
Related baca:
Cara Mencadangkan Seluruh Sistem Linux Anda Menggunakan RsyncCara Mencadangkan Berkas Dan Direktori Menggunakan Rsync Di LinuxCara Mencadangkan Dan Mengembalikan File Menggunakan Deja Dup Di LinuxCara Menyetel Server Cadangan Menggunakan RsnapshotCara Mencadangkan Dan Mengembalikan Sistem Linux Dengan TimeshiftCara Menyinkronkan File Dengan Serempak Di LinuxCara Menyinkronkan Direktori Lokal Dan Jarak Jauh Di LinuxCara Menyinkronkan File Dan Direktori Menggunakan Zaloha.shCYA – Snapshot Sistem Dan Utilitas Pemulihan Untuk Linux

Scroll to Top