📰 Laman Utama 🔒 Log Masuk Admin
Jul 29, 2026 ⏰ 8 min read

Strategi Sandaran Linux: rsync, Borg, dan restic — Membina Talian Paip yang Boleh Dipercayai

Mari kita hadapi: setiap sysadmin tahu mereka sepatutnya mempunyai sandaran, tetapi kebanyakan kita mempunyai satu pelayan yang berjalan di atas sayap dan doa. Hakikatnya, kehilangan data bukan soal jika — ianya soal bila. Cakera yang gagal, `rm -rf` yang tidak disengajakan, serangan perisian tebusan atau pangkalan data yang rosak boleh menjadikan hari anda terbalik dalam beberapa saat.

Panduan ini berjalan melalui tiga alat sandaran Linux yang diuji pertempuran — rsync, Borg Backup dan restic — dan menunjukkan kepada anda cara membina saluran paip sandaran yang benar-benar berfungsi. Bukan sekadar skrip yang menjalankan dan membuang fail ke suatu tempat, tetapi strategi sebenar dengan penyahduplikasian, penyulitan, automasi dan pengesahan pemulihan.

Mengapa Anda Memerlukan Lebih Daripada Bola Tar

Melempar `tar -czf backup.tar.gz /important/stuff` pantas dan memanggilnya sehari berfungsi untuk projek peribadi, tetapi ia tidak akan mengurangkan pengeluarannya. Inilah sebabnya:

  • Tiada sandaran tambahan — Setiap tar ialah sandaran penuh, membazir storan dan lebar jalur
  • Tiada penyahduplikasi — Simpan fail yang sama sepuluh kali, dan anda membayarnya sepuluh kali
  • Tiada penyulitan — Bola tar anda terletak pada cakera atau dalam storan awan sebagai data biasa
  • Tiada pengesanan rasuah — Satu bit terbalik boleh merosakkan arkib anda secara senyap

Alat sandaran moden menyelesaikan semua masalah ini. Caranya ialah memilih alat yang sesuai untuk pekerjaan itu.

Alat 1: rsync — Yang Lama Boleh Dipercayai

rsync telah menjadi ruji sysadmin selama beberapa dekad, dan untuk alasan yang baik. Ia pantas, tersedia secara meluas pada setiap pengedaran Linux, dan sangat fleksibel.

Apa yang rsync Berfungsi dengan Baik

rsync menyegerakkan fail antara dua lokasi — setempat atau jauh — dengan hanya memindahkan perbezaan. Berikut ialah corak klasik untuk sandaran jauh:

```bash
rsync -avz --delete /data/ user@backup-server:/backups/data/
```

Bendera dalam bahasa Inggeris biasa:


  • `-a` — Mod arkib (memelihara kebenaran, cap masa, pemilikan)

  • `-v` — Verbose (tunjukkan perkara yang disalin)

  • `-z` — Mampat semasa pemindahan (menjimatkan lebar jalur)

  • `--delete` — Alih keluar fail pada destinasi yang telah dipadamkan pada sumber

Membina Sistem Syot Kilat Harian dengan rsync

Kuasa sebenar rsync bersinar apabila anda menggabungkannya dengan pautan keras untuk sandaran gaya syot kilat. Alat `rsnapshot` yang popular dan banyak skrip tempatan menggunakan corak ini:

```bash
#!/bin/bash
BACKUP_DIR="/backups/data"
SNAPSHOTDIR="$BACKUPDIR/$(tarikh +%Y-%m-%d)"
TERKINILINK="$BACKUPDIR/terkini"

Langkah 1: Buat salinan pautan keras bagi petikan terbaharu

jika [ -d "$LATEST_LINK" ]; kemudian cp -al "$LATESTLINK" "$SNAPSHOTDIR" fi

Langkah 2: rsync menukar fail kepada syot kilat baharu

rsync -avz --delete /data/ "$SNAPSHOT_DIR/"

Langkah 3: Kemas kini pautan terkini

rm -f "$LATEST_LINK" ln -s "$SNAPSHOTDIR" "$LATESTLINK" ```

Keajaibannya ada dalam `cp -al` — ia mencipta salinan menggunakan pautan keras. Fail yang tidak berubah hanya dapatkan entri direktori lain yang menunjuk ke inod yang sama. Menukar fail mencipta inod baharu untuk fail itu sahaja. Hasilnya: setiap gambar kelihatan seperti sandaran penuh tetapi hampir tidak menggunakan ruang tambahan untuk fail yang tidak berubah.

Bila Menggunakan rsync

  • Sandaran peringkat fail mudah di mana anda mahukan akses segera kepada fail yang boleh dibaca dan
  • Menyegerakkan ke media luar talian (pemacu luaran, pemasangan NFS)
  • Pemindahan tambahan melalui SSH ke pelayan jauh
  • Penghijrahan data sekali sahaja

Had

  • Tiada penyulitan terbina dalam (bergantung pada SSH)
  • Tiada deduplikasi peringkat blok merentas syot kilat
  • Tiada pemampatan semasa rehat (hanya semasa pemindahan dengan `-z`)
  • Pemangkasan manual — anda menguruskan sendiri syot kilat lama

Alat 2: Sandaran Borg — Penyahduplikasian Dilakukan Betul

Borg Backup mengambil idea rsync dan mengecasnya dengan chunking ditentukan kandungan dan penyahduplikasian sebenar. Ia membahagikan fail kepada ketulan bersaiz berubah-ubah, mencincang setiap ketulan dan menyimpan setiap ketulan unik sekali sahaja — walaupun merentasi mesin yang berbeza.

Bermula dengan Borg

```bash

Pasang Borg pada Debian/Ubuntu


apt memasang borgbackup

Mulakan repositori

borg init --encryption=repokey /backups/borg-repo

Buat sandaran

borg create --stats --compression lz4 \ /backups/borg-repo::data-$(tarikh +%Y-%m-%d) \ /data/ ```

Bendera mampatan `lz4` adalah sangat pantas — lebih pantas daripada tidak memampatkan dalam kebanyakan kes kerana CPU menghabiskan lebih sedikit masa untuk memampatkan daripada menunggu I/O cakera pada data yang tidak dimampatkan.

Apa yang Membuatkan Borg Istimewa

Penyahduplikasi merentas sandaran: Borg menyimpan sebahagian secara global merentas keseluruhan repositori. Jika anda menyandarkan pangkalan data 100 GB yang sama setiap hari dan hanya 500 MB berubah, setiap sandaran baharu menyimpan kira-kira 500 MB — bukan 100 GB.

Penyulitan yang disahkan: Borg menggunakan penyulitan yang disahkan (AES-OCB atau AES-CTR + HMAC-SHA256) supaya anda tahu data anda tidak diusik.

Sandaran jauh melalui SSH: Borg menyokong repositori jauh secara asli:

```bash
borg create --stats \
user@backup-server:/backups/borg-repo::data-$(date +%Y-%m-%d) \
/data/
```

Pemangkasan dibuat mudah:

```bash
borg prune --simpan-harian 7 --simpan-mingguan 4 --simpan-bulanan 6 \
/backups/borg-repo
```

Borg dalam Amalan — Persediaan Pengeluaran

```bash
#!/bin/bash
REPO="/backups/borg-repo"
eksport BORG_PASSPHRASE="your-secure-passphrase"

Buat sandaran

borg create --stats --compression auto,lzma,6 \ "$REPO::server-$(tarikh +%Y-%m-%d_%H%M)" \ /etc /var/lib /home \ --exclude '/home/*/.cache' \ --kecualikan '*.log'

Pangkas sandaran lama

borg prune "$REPO" \ --simpan-setiap hari 7 \ --simpan-mingguan 4 \ --simpan-bulanan 6 \ --simpan-setahun 2

Padatkan repositori (menuntut semula ruang daripada arkib yang dipadam)

borg padat "$REPO" ```

Bila Menggunakan Borg

  • Set data besar dengan banyak data berulang (pelayan sandaran, imej VM)
  • Arkib jangka panjang di mana kecekapan penyimpanan penting
  • Persekitaran di mana anda memerlukan penyulitan yang kuat semasa berehat
  • Saluran paip sandaran berasaskan cron automatik

Had

  • Repositori Borg tidak boleh dibaca manusia — anda memerlukan Borg untuk mengekstrak fail
  • Memulihkan satu fail memerlukan mengetahui nama arkib
  • Kerumitan yang lebih tinggi sedikit untuk disediakan berbanding rsync

Alat 3: restic — Sandaran Cloud-Native Dipermudahkan

restic direka untuk era moden di mana sandaran sering hidup dalam storan awan. Ia menyokong AWS S3, Backblaze B2, Google Cloud Storage, Azure Blob, OpenStack Swift, dan juga destinasi tempatan atau SFTP — semuanya dengan antara muka yang sama.

Bermula dengan rehat

```bash

Pasang restic


apt install restic

Mulakan repositori pada Backblaze B2

restic init --repo b2:bucket-name:/backups

Buat sandaran

restic --repo b2:bucket-name:/backups \ sandaran /data/ ```

Apa yang Membuatkan rehat Istimewa

Sokongan berbilang awan: restic bercakap S3, B2, GCS, Azure dan storan setempat secara asli. Beralih daripada satu pembekal kepada yang lain ialah satu perubahan bendera baris arahan.

Snapshot dan lekap: restic boleh memasang sandaran sebagai sistem fail FUSE, supaya anda boleh menyemak imbas dan memulihkan fail tanpa mengekstrak:

```bash
restic mount /mnt/restore
```

Ini adalah ciri pembunuh — sandaran anda menjadi pepohon direktori boleh semak imbas yang disusun mengikut tarikh syot kilat.

Periksa dan baiki: restic termasuk perintah `check` yang mengesahkan integriti repositori dan boleh membaiki jenis rasuah tertentu:

```bash
semak restic --read-data
```

Lupakan dan cantas:

```bash
restic lupa --simpan-harian 7 --simpan-mingguan 5 --simpan-bulanan 12
prun rehat
```

restic dalam Amalan — Setempat Hibrid + Awan

```bash
#!/bin/bash
eksport RESTIC_REPOSITORY="s3:s3.amazonaws.com/my-backup-bucket"
eksport RESTIC_PASSWORD="kata laluan-selamat-anda"

Sandarkan direktori kritikal

sandaran rehat \ /etc /home /var/lib/mysql \ --exclude="/home/*/Muat Turun" \ --tag setiap minggu

Pangkas gambar lama

rehat lupa \ --simpan-setiap hari 7 \ --simpan-mingguan 4 \ --simpan-bulanan 12 \ --pangkas

Sahkan integriti

pemeriksaan rehat ```

Bila hendak menggunakan restic

  • Aliran kerja sandaran asli awan
  • Persediaan berbilang awan / hibrid
  • Persekitaran di mana anda ingin memasang sandaran untuk penyemakan imbas yang mudah
  • Pasukan yang memerlukan antara muka sandaran yang konsisten merentas bahagian belakang storan yang berbeza

Had

  • Penyahduplikasian yang lebih perlahan daripada Borg untuk set data yang sangat besar
  • Penggunaan memori yang lebih tinggi semasa operasi sandaran
  • Tiada pemampatan terbina dalam (menggunakan pemampatan pembekal storan asas)

Membina Saluran Paip Sandaran Anda: Seni Bina Praktikal

Berikut ialah seni bina terbukti yang menggabungkan ketiga-tiga alatan untuk strategi sandaran pertahanan yang mendalam:

```
Lapisan 1 — Syot Kilat Tempatan (rsync)
Tujuan: Pemulihan segera, fail boleh semak imbas
Jadual: Setiap jam melalui cron
Lokasi: Cakera tempatan atau pelekap NAS

Lapisan 2 — Arkib Nyahduplikasi (Borg)
Tujuan: Pengekalan jangka panjang yang cekap ruang
Jadual: Setiap hari melalui cron
Lokasi: Pelayan sandaran khusus pada rangkaian yang sama

Lapisan 3 — Luar Tapak Awan (restic)
Tujuan: Pemulihan bencana, perlindungan perisian tebusan
Jadual: Setiap hari, selepas Borg selesai
Lokasi: Backblaze B2 atau AWS S3
```

Contoh Jadual cron

```

/etc/cron.d/backup-pipeline

Gambar rsync setiap jam (kekalkan 24 jam)

0 root /usr/local/bin/rsync-snapshot.sh

Sandaran Borg harian (simpan 7 harian, 4 mingguan, 6 bulanan)

0 2 * root /usr/local/bin/borg-backup.sh

Restic harian kepada awan (simpan 30 setiap hari, 12 bulanan)

0 4 * root /usr/local/bin/restic-cloud.sh ```

Peraturan Emas: Uji Pemulihan Anda

Ini tidak boleh cukup ditekankan. Sandaran yang belum diuji bukanlah sandaran — ia adalah harapan.

Tetapkan peringatan kalendar bulanan kepada:


  1. Pulihkan fail rawak dari setiap lapisan sandaran

  2. Masa berapa lama pemulihan penuh akan diambil

  3. Sahkan pembuangan pangkalan data dengan mengimportnya ke dalam contoh ujian

  4. Semak bahawa kunci penyulitan masih berfungsi

Masa paling teruk untuk mengetahui sandaran anda rosak ialah apabila anda paling memerlukannya.

Kesimpulan

Tiada alat sandaran "terbaik" tunggal — setiap satu mempunyai tujuan yang berbeza. rsync memberikan anda syot kilat yang pantas dan boleh disemak dengan overhed minimum. Borg menyampaikan arkib yang cekap ruang dan disulitkan dengan penyahduplikasian bertaraf dunia. restic membawa fleksibiliti asli awan dengan keupayaan untuk memasang sandaran sebagai sistem fail.

Strategi yang menang adalah menggunakannya bersama-sama. rsync untuk kelajuan tempatan dan akses segera, Borg untuk arkib yang cekap, dan restic untuk perlindungan awan luar tapak. Automatikkan saluran paip, sulitkan segala-galanya dan uji pemulihan anda setiap bulan. Sysadmin pintar bukan sahaja membuat sandaran — mereka mengesahkan.

Infografik: Strategi Sandaran Linux

Infografik: Strategi Sandaran Linux

← Back to Homepage

💬 0 Comments

☕ Support Eismar Tech Hub

🌎 International

Beli kopi

Credit Card / PayPal accepted

💳 Local (Malaysia)

Touch N Go QR

Touch 'n Go / DuitNow QR