ไม่ต้องใช้บัตรประชาชนตอนสมัคร · Storage VPS ตั้งแต่ 500 GB ถึง 8 TB · จ่ายด้วย BTC, USDT, USDC, ETH, SOL, LTC, XMR
ภาษา: ไทย
เลือกซื้อ storage

Borg backup server · ทีละขั้นตอน

ฉันจะตั้งค่า Borg backup server บน storage VPS ได้อย่างไร?

Borg server ไม่ใช่อะไรอื่นนอกจากบัญชี SSH ที่อาจรันคำสั่งเดียว ล็อกคำสั่งนั้นไว้ต่อคีย์ ให้ฝั่งไคลเอนต์เป็น append-only และทำ prune จากที่ที่ผู้โจมตีเข้าถึงไม่ได้

อัปเดตล่าสุด: · 5 นาทีในการอ่าน

คำตอบสั้น

ฉันจะตั้งค่า Borg backup server บน VPS ได้อย่างไร?

ในการตั้งค่า Borg backup server บน VPS ให้ติดตั้ง Borg 1.x ทั้งสองฝั่ง สร้างผู้ใช้ borg และบังคับ borg serve --restrict-to-path --append-only ในคีย์ของไคลเอนต์แต่ละตัว เริ่มต้น repository แต่ละอันด้วย repokey; ทำ prune และ compact จากคีย์แอดมินแยกต่างหาก VPS Coffervale ขนาด 1 TB ราคา $1.66 ต่อเดือนเมื่อจ่าย 12 เดือน (2 November 2026)

มีขั้นตอนอะไรบ้าง ตามลำดับ?

  1. ติดตั้ง Borg 1.x เวอร์ชันเดียวกันบนเซิร์ฟเวอร์และไคลเอนต์

    apt install borgbackup บน Debian หรือ Ubuntu แล้วเปรียบเทียบ borg --version ทั้งสองฝั่ง

  2. สร้างผู้ใช้ borg และโฟลเดอร์ repository

    บัญชีไม่มีสิทธิ์พิเศษหนึ่งบัญชีบน VPS เป็นเจ้าของทุก repository; ไคลเอนต์ไม่เคยได้เชลล์

  3. บังคับ borg serve ใน authorized_keys

    หนึ่งบรรทัดต่อคีย์ไคลเอนต์แต่ละตัว แต่ละคีย์จำกัดไว้ที่พาธของตัวเองด้วย --restrict-to-path และ --append-only

  4. เริ่มต้น repository ด้วย repokey

    รัน borg init --encryption=repokey จากไคลเอนต์ แล้วส่งออกคีย์และเก็บไว้ให้ห่างจากทั้งสองเครื่อง

  5. ตั้งเวลารัน borg create บนไคลเอนต์

    ทุกวันจาก cron หรือ systemd timer โดยอ่าน passphrase ผ่าน BORG_PASSCOMMAND

  6. ทำ prune และ compact จากคีย์แอดมิน

    คีย์ที่สองที่ไม่มี --append-only ใช้จากเครื่องที่เชื่อถือได้หลังจากตรวจสอบรายการ archive แล้ว

  7. ตรวจสอบ repository และทดสอบการกู้คืน

    borg check ทุกสัปดาห์ --verify-data ทุกเดือน และ borg extract จริงทุกสองสามเดือน

เซิร์ฟเวอร์ควรใช้ Borg เวอร์ชันใด

ใช้ Borg 1.x ทั้งสองฝั่ง: 1.4.5 เป็นเวอร์ชัน stable ล่าสุด ณ วันที่ 2 พฤศจิกายน 2026 และ Borg 2 ยังอยู่ในช่วง beta หน้า Borg 2.0 ระบุว่าเป็น breaking release ที่ไม่เข้ากันโดยตรงกับ repository ของ Borg 1.x และเปลี่ยนชื่อ borg init เป็น borg repo-create บน Debian 13 แพ็กเกจที่ต้องติดตั้งคือ borgbackup (1.4.0 ใน trixie) ส่วนแพ็กเกจ borgbackup2 แยกต่างหากเป็น Borg 2.0 beta ให้ติดตั้งเวอร์ชันเดียวกันทั้งบนเซิร์ฟเวอร์และบนทุก client

บน storage VPS ในฐานะ root: Borg, ผู้ใช้ borg, โฟลเดอร์ต่อ client
apt install borgbackup
borg --version

useradd --create-home --home-dir /srv/borg --shell /bin/sh borg
install -d -m 700 -o borg -g borg /srv/borg/.ssh /srv/borg/repos
install -d -m 700 -o borg -g borg /srv/borg/repos/laptop /srv/borg/repos/web1

ฉันจะล็อกแต่ละ client ให้เข้าถึงเฉพาะ repository ของตัวเองได้อย่างไร

ใส่คำสั่ง borg serve แบบ forced ไว้หน้าทุก key ใน /srv/borg/.ssh/authorized_keys เพื่อให้ key นั้นรัน Borg ได้และทำอย่างอื่นไม่ได้ คำสำคัญ restrict บล็อก port forwarding, agent forwarding และ terminal และเอกสารของ Borg ระบุว่าครอบคลุมฟีเจอร์ SSH ที่จะเพิ่มในเวอร์ชันในอนาคตด้วย ตัวอย่างสมมติว่าใช้ POSIX shell เป็น login shell ของบัญชี ซึ่งเป็นเหตุผลที่ผู้ใช้ข้างต้นได้ /bin/sh

  • --restrict-to-path PATH อนุญาต path นั้นและทุกโฟลเดอร์ภายใต้ path นั้น ดังนั้น client เดียวจึงเก็บหลาย repository ได้
  • --restrict-to-repository PATH เข้มงวดกว่า: repository เดียวเท่านั้น ไม่มีโฟลเดอร์ย่อย
  • --append-only ให้ key เพิ่ม archive ได้ แต่ลบข้อมูลออกจาก repository ไม่ได้
  • --storage-quota 500G จำกัดปริมาณที่ key หนึ่งเก็บได้ เพื่อไม่ให้ client ที่ทำงานผิดพลาดเติมดิสก์จนเต็ม

แต่ละบรรทัดต้องอยู่ในบรรทัดเดียวในไฟล์ ส่วน admin key ที่ท้ายไม่มี --append-only และใช้เฉพาะสำหรับ pruning

/srv/borg/.ssh/authorized_keys (owner borg, mode 600)
command="borg serve --restrict-to-path /srv/borg/repos/laptop --append-only",restrict ssh-ed25519 AAAA...laptop-key... laptop
command="borg serve --restrict-to-path /srv/borg/repos/web1 --append-only --storage-quota 500G",restrict ssh-ed25519 AAAA...web1-key... web1
command="borg serve --restrict-to-path /srv/borg/repos",restrict ssh-ed25519 AAAA...admin-key... admin
แก้ไข ownership หลังแก้ไขไฟล์ ในฐานะ root
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys

ฉันจะสร้าง repository ด้วยการเข้ารหัสแบบ repokey ได้อย่างไร

รัน borg init --encryption=repokey จาก client แล้ว export key ออกมาเก็บไว้นอกทั้ง VPS และเครื่องที่คุณ backup เอกสารของ Borg แนะนำให้ใช้ repokey พร้อม passphrase ที่แข็งแรงเป็นแนวปฏิบัติ; repokey-blake2 เป็นโหมดเดียวกันแต่ใช้ hash BLAKE2b ซึ่งน่าจะเร็วกว่าบนโปรเซสเซอร์ที่ไม่มี hardware-accelerated SHA-256 เมื่อใช้ repokey key จะอยู่ในไฟล์ config ของ repository ซึ่งถูกปิดผนึกด้วย passphrase ของคุณ หากทำ passphrase หาย backup จะอ่านไม่ได้ทั้งโดยคุณและโดยคนอื่น Borg ยังระบุด้วยว่าคุณต้องเก็บสำเนา key ไว้นอกสถานที่ เช่น บนกระดาษ

บน client (ในที่นี้: แล็ปท็อป)
ssh-keygen -t ed25519 -N '' -C 'borg laptop' -f ~/.ssh/borg_ed25519

cat >> ~/.ssh/config <<'EOF'
Host coffer-borg
    HostName 203.0.113.10
    User borg
    IdentityFile ~/.ssh/borg_ed25519
    IdentitiesOnly yes
EOF

export BORG_REPO=ssh://coffer-borg/srv/borg/repos/laptop/main
borg init --encryption=repokey
borg key export --paper "$BORG_REPO" ~/borg-laptop-key.txt
/usr/local/sbin/borg-backup on a server client, run daily as root
#!/bin/sh
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
# the passphrase file belongs to root, mode 600
export BORG_PASSCOMMAND='cat /root/.config/borg/passphrase'

borg create --stats --compression zstd,3 \
    ::'{hostname}-{now:%Y-%m-%dT%H:%M}' \
    /etc /home /var/www

ฉันจะ prune และ compact repository แบบ append-only ได้อย่างไร

จากเครื่อง admin ที่เชื่อถือได้ ด้วย key ที่ไม่มี --append-only หลังจากตรวจสอบว่าไม่มี archive หายไป ในโหมด append-only หมายเหตุของ Borg อธิบายว่า prune และ delete ยังทำงานอยู่ แต่จะติดแท็กข้อมูลว่าถูกลบใน transaction ใหม่เท่านั้น และการ compact จะไม่เกิดขึ้นเลย โดยไม่มีคำเตือนและไม่มี error พื้นที่ของ repository จะไม่ถูกคืนจนกว่า borg compact จะรันจาก key ที่ได้รับอนุญาตให้เขียนใหม่

หมายเหตุเดียวกันนี้มีข้อควรระวัง: การเขียนครั้งแรกในโหมดปกติจะทำให้การลบก่อนหน้าทั้งหมดเป็นถาวร รวมถึงการลบที่ผู้โจมตีทำผ่าน client key ด้วย ดังนั้นให้ list archive ก่อน หากบางรายการหายไป ให้หยุดและทำตามขั้นตอนการกู้คืนในหมายเหตุ append-only ของ Borg ก่อน prune อะไรก็ตาม cron job ที่ prune อัตโนมัติด้วย key แบบไม่จำกัดจะทำให้ append-only ไร้ความหมาย เอกสารของ Borg ยังแนะนำให้ใช้ --dry-run กับ --list ก่อน prune จริงทุกครั้ง

บนเครื่อง admin, Host coffer-admin โดยใช้ admin key
export BORG_REPO=ssh://coffer-admin/srv/borg/repos/web1/main

borg list
borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg compact

ฉันจะตรวจสอบ repository และพิสูจน์ว่าการ restore ใช้ได้จริงได้อย่างไร

รัน borg check ทุกสัปดาห์, borg check --verify-data ทุกเดือน และ extract ไฟล์จริงไปยังเครื่องอื่นทุกสองสามเดือน การ check แบบธรรมดาจะตรวจสอบ repository และ metadata ของ archive ส่วน --verify-data จะอ่าน ถอดรหัส และ decompress ทุก chunk ซึ่ง Borg ระบุว่าใช้เวลามาก และบนฮาร์ดดิสก์ก็เป็นเช่นนั้นจริง สำหรับ repository ขนาดใหญ่ --repository-only --max-duration 3600 จะแบ่งการตรวจสอบ repository เป็นช่วงละหนึ่งชั่วโมงที่ทำต่อจากจุดที่หยุดไว้ สิ่งเหล่านี้ไม่สามารถแทนการ restore จริงได้: backup จะดีเท่ากับครั้งล่าสุดที่คุณดึงข้อมูลออกมาได้สำเร็จ

ตรวจสอบและการทดสอบ restore จาก client
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main

borg check -v
borg check -v --verify-data
borg check -v --repository-only --max-duration 3600

mkdir -p /tmp/restore-test && cd /tmp/restore-test
borg list
borg extract --list ::web1-2026-11-02T03:00 etc/nginx

เป้าหมาย Borg มีค่าใช้จ่ายเท่าไรเมื่อเทียบกับ hosted Borg storage

ตามการสำรวจของ Coffervale ณ วันที่ 2 พฤศจิกายน 2026 hosted Borg storage มีค่าใช้จ่าย $9.17 ต่อ TB ต่อเดือนที่ BorgBase (แพ็กเกจ 1 TB Medium, $110.00 ต่อปี) และ $15.00 ต่อ TB ที่ rsync.net ขณะที่แพ็กเกจ storage VPS จากโฮสต์ที่รับคริปโตโดยไม่ต้องใช้เอกสารระบุตัวตนมีค่ามัธยฐาน $4.00 ต่อ TB บริการแบบ hosted จะรันเซิร์ฟเวอร์ให้คุณ ส่วน storage VPS ให้คุณเป็น root และต้องตั้งค่าตามข้างต้น ซึ่งเป็นการตัดสินใจที่ชั่งน้ำหนักใน Is a storage VPS a cheaper alternative to rsync.net or BorgBase? เราไม่สำรองข้อมูลเซิร์ฟเวอร์ของคุณและไม่เก็บสำเนาข้อมูลของคุณไว้ที่อื่น ดังนั้นสิ่งที่อยู่บนสตอเรจ VPS ของ Coffervale ควรเป็นหนึ่งในสำเนาของคุณ ไม่ใช่สำเนาเดียว ดังนั้นเซิร์ฟเวอร์ Borg จึงเป็นสำเนาหนึ่งในหลายสำเนา ตามที่ How do I use a VPS for off-site backups? อธิบาย แพ็กเกจ 1 TB มีรายละเอียดใน Where can I get a VPS with 1 TB of storage? และหากคุณชอบ restic ให้อ่าน Restic: REST server or SFTP for backups to a VPS? หากต้องการเข้ารหัสดิสก์ของ VPS ด้วย ให้ดู How do I mount and format the storage disk on a Linux VPS?

เป้าหมาย Borg ต่อ TB ต่อเดือน ณ วันที่ 2 พฤศจิกายน 2026

เป้าหมาย Borgต่อ TB ต่อเดือนสิ่งที่คุณรันเองจ่ายด้วยคริปโต
BorgBase Medium, 1 TB$9.17 ($110.00 ต่อปี)ไม่มีค่าใช้จ่าย: hosted Borg และ restic repositoryไม่ระบุ
rsync.net, ชั้น 0 ถึง 9 TB$15.00ไม่มีค่าใช้จ่าย: ZFS storage ที่เข้าถึงผ่าน SSHไม่ระบุ
Storage VPS, ค่ามัธยฐานของ 99 แพ็กเกจ$4.00เซิร์ฟเวอร์ Borg ที่ตั้งค่าตามหน้านี้ใช่: โฮสต์ที่รับคริปโตโดยไม่ต้องใช้เอกสารระบุตัวตน
Coffervale Clay, 1 TB$1.66 ใน 12 เดือนเซิร์ฟเวอร์ Borg ที่ตั้งค่าตามหน้านี้BTC, USDT, USDC, ETH, SOL, LTC, XMR

ตรวจสอบราคาเมื่อ

ราคาตามที่อ่านได้จากหน้าของแต่ละบริการเอง ณ วันที่ 2 พฤศจิกายน 2026 BorgBase คิดค่าบริการแพ็กเกจ Medium รายปีและระบุราคาไม่รวม VAT; ค่ามัธยฐานของ storage VPS ครอบคลุมแพ็กเกจตั้งแต่ 500 GB ขึ้นไป ที่มีสินค้าในสต็อกและคิดค่าบริการรายเดือน

คำถามเกี่ยวกับเซิร์ฟเวอร์ backup แบบ Borg

client และเซิร์ฟเวอร์ต้องใช้ Borg เวอร์ชันเดียวกันหรือไม่

ให้ทั้งคู่อยู่บน Borg 1.x และควรเป็นเวอร์ชันเดียวกัน Borg 2 ยังอยู่ในช่วง beta ใช้รูปแบบ repository ใหม่ และไม่สามารถเปิด repository 1.x ได้โดยตรง บน Debian 13 ให้ติดตั้ง borgbackup ไม่ใช่ borgbackup2

ฉันควรใช้ --restrict-to-path หรือ --restrict-to-repository

--restrict-to-path อนุญาตโฟลเดอร์และทุกอย่างภายใต้โฟลเดอร์นั้น สะดวกเมื่อ client เดียวเก็บหลาย repository ส่วน --restrict-to-repository อนุญาต repository เดียวเท่านั้นและไม่มีโฟลเดอร์ย่อย ซึ่งเป็นตัวเลือกที่เข้มงวดกว่าเมื่อแต่ละ client มีเพียงหนึ่ง repository

ทำไม repository ของฉันจึงไม่หดลงหลัง borg prune

Prune เพียงติดแท็ก archive ว่าถูกลบ; borg compact จะคืนพื้นที่ หากใช้ key แบบ append-only การ compact จะไม่ทำงานเลย ดังนั้นให้ prune และ compact ด้วย admin key

storage VPS หนึ่งเครื่องเก็บ repository ของ Borg สำหรับหลายเครื่องได้หรือไม่

ใช่ ให้แต่ละเครื่องมีบรรทัดคีย์ของตัวเองใน authorized_keys เส้นทางของตัวเอง และหากดิสก์ใช้ร่วมกัน ให้มี --storage-quota ของตัวเอง จากนั้นไคลเอนต์ที่ถูกเจาะจะเข้าถึงได้เพียง repository เดียวเท่านั้น

จะเกิดอะไรขึ้นถ้าฉันทำ passphrase ของ Borg หาย?

repository จะอ่านไม่ได้ตลอดไป Borg ไม่สามารถกู้คืนได้ และโฮสต์ก็ไม่สามารถกู้คืนได้เช่นกัน เก็บ passphrase ไว้ใน password manager และเก็บคีย์ที่ส่งออกไว้บนกระดาษ โดยแยกจาก VPS และไคลเอนต์

แหล่งที่มา (13)
  1. เอกสาร Borg 1.4.5: Hosting repositories — BorgBackup project (read 2026-11-02)
  2. เอกสาร Borg 1.4.5: borg serve (restrict options, append-only, storage quota) — BorgBackup project (read 2026-11-02)
  3. เอกสาร Borg 1.4.5: borg init (โหมดการเข้ารหัส, การสำรองคีย์) — BorgBackup project (read 2026-11-02)
  4. เอกสาร Borg 1.4.5: borg prune — BorgBackup project (read 2026-11-02)
  5. เอกสาร Borg 1.4.5: borg compact — BorgBackup project (read 2026-11-02)
  6. เอกสาร Borg 1.4.5: borg check — BorgBackup project (read 2026-11-02)
  7. เอกสาร Borg 1.4.5: หมายเหตุเพิ่มเติม โหมด append-only — BorgBackup project (read 2026-11-02)
  8. เอกสาร Borg 1.4.5: Quick start (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
  9. Borg 2.0 (ข้อมูลเบื้องต้น) — BorgBackup project (read 2026-11-02)
  10. BorgBackup releases (1.4.5 ล่าสุด, 2.0.0b25 pre-release) — BorgBackup project on GitHub (read 2026-11-02)
  11. แพ็กเกจ Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
  12. แพลนและค่าบริการ borgbase.com — BorgBase (read 2026-11-02)
  13. ค่าบริการคลาวด์สตอเรจ rsync.net/pricing.html — rsync.net (read 2026-11-02)

เริ่มต้น $1.24/เดือน · ไม่ต้อง KYC

เลือกซื้อ storage