VPS காப்பு: Restic உடன் தரவை வெளியே எடுக்க
Restic உங்கள் VPS தரவை மறையாக்கம் செய்து நகல்நீக்கம் செய்து வேறு சேவையகத்திற்கு அனுப்புகிறது. systemd timer இரவுநேர காப்புக்கும் மீட்புப் பயிற்சிக்கும் முழு வழிகாட்டி.
ஒரே சேவையகத்தில் வைக்கப்படும் காப்பு உண்மையான காப்பு அல்ல
Restic என்பது ஒரு இலவச, திறந்த மூல காப்பு கருவி. இது உங்கள் கோப்புகளின் மறையாக்கப்பட்ட, நகல்நீக்கப்பட்ட நொடிப்பிம்பங்களை வேறு இடத்தில் உள்ள ஒரு களஞ்சியத்திற்கு அனுப்புகிறது. அந்த களஞ்சியம் ஒரு இரண்டாவது VPS, வீட்டில் உள்ள ஒரு கணினி, அல்லது S3-இணக்கமான பொருள் சேமிப்பு எதுவாகவும் இருக்கலாம். இந்த வழிகாட்டி Ubuntu 24.04-இல் இதை அமைக்கிறது. நிறுவலில் இருந்து SFTP வழியாக ஒரு களஞ்சியம் உருவாக்குவது, முதல் காப்பு, ஒரு இரவுநேர systemd timer, ஒரு தக்கவைப்புக் கொள்கை, மற்றும் இவை அனைத்தும் சரியாக வேலை செய்கிறது என்பதை நிரூபிக்கும் மீட்புப் பயிற்சி வரை இது விளக்குகிறது. இலக்கு இன்னொரு கணினியாக இருக்க வேண்டும். ஏனெனில் ஒரே சேவையகத்தில் இருக்கும் நகல் அந்த சேவையகத்துடன் சேர்த்தே அழிந்துவிடும்.
காப்பு எடுக்கப்படும் கணினியிலேயே இருக்கும் ஒரு backup/ கோப்பகம் ஒரே ஒரு விஷயத்திலிருந்து மட்டுமே உங்களைப் பாதுகாக்கிறது: கோப்பை தவறுதலாக நீக்குவது. அது ஒரு செயலிழந்த வட்டில் தப்பிப்பிழைக்காது, ஏனெனில் அது அந்த வட்டில்தான் இருந்தது. அது root அணுகல் கொண்ட ஒரு தாக்குநரை எதிர்க்க மாட்டாது, ஏனெனில் அவர்கள் நகல்களை முதலில் நீக்கிவிடுவார்கள். அது VPS-ஐ நீக்கும் கணக்குப் பிழையை எதிர்க்க மாட்டாது. உலகின் மிகவும் செயல்திறனற்ற தரவு மையம் தரவு இருக்கும் அதே வரிசையில் backup_final_v2_REAL என்ற பெயர்கொண்ட ஒரு tarball-ஐப் பற்றி கேலி செய்கிறது. இந்த கேலி பலருக்குப் பழக்கமானதாக இருப்பதால் அது பலன் தருகிறது, ஏனெனில் நம்மில் பலர் அப்படியே செய்திருக்கிறோம். கணினிக்கு வெளியே வைப்பதுதான் விதி. restic அந்த விதியைப் பின்பற்றுவதற்கான எளிதான வழி.
Restic நான்கு கருத்துகளில்
Repository. restic எழுதும் இடம். இது restic-ன் சொந்த வடிவமைப்பிலான ஒரு கோப்புறை. இது மறையாக்கப்பட்ட blobs நிறைந்தது. restic மட்டுமே இதைப் படிக்க முடியும். நீங்கள் இதை கைமுறையாக ஒருபோதும் திருத்த வேண்டாம். நீங்கள் restic கட்டளைகள் மூலமும் -r முகவரி மூலமும் இதனுடன் தொடர்பு கொள்ள வேண்டும்.
Snapshot. நீங்கள் காப்புப் பிரதி எடுத்த கோப்புகளின் ஒரு குறிப்பிட்ட நேரத்து நிலைப்படம். ஒவ்வொரு backup இயக்கமும் ஒரு snapshot உருவாக்குகிறது. ஒவ்வொரு snapshot-ஐயும் தனியாக மீட்டெடுக்க முடியும். ஒவ்வொன்றும் அந்த நேரத்தில் உங்கள் தரவின் முழுமையான நகல் போலவே செயல்படுகிறது.
Deduplication. Restic கோப்புகளை உள்ளடக்கத்தால் வரையறுக்கப்பட்ட chunks ஆகப் பிரிக்கிறது. repository இதுவரை பார்த்திராத chunks-ஐ மட்டுமே பதிவேற்றுகிறது. முதல் backup அனைத்தையும் பதிவேற்றுகிறது. அதற்குப் பிறகான ஒவ்வொரு இயக்கமும் தோராயமாக மாறியதை மட்டுமே பதிவேற்றுகிறது. 20 GB-ல் 50 MB மாறிய ஒரு இரவு நேர snapshot-ன் செலவு தோராயமாக 50 MB தான். எனவே பல டஜன் snapshot-களை வைத்திருப்பது மலிவானது.
இயல்பான மறையாக்கம். ஒரு restic repository எப்போதும் மறையாக்கப்பட்டிருக்கும் (AES-256). ஒவ்வொரு கட்டளைக்கும் repository கடவுச்சொல் தேவை. backup host அல்லது சேமிப்பு வழங்குநர் மறையாக்கப்பட்ட blobs-ஐ மட்டுமே பார்க்க முடியும். கடுமையான விளைவு: கடவுச்சொல்லை இழந்தால் தரவு போய்விடும், நிரந்தரமாக, வடிவமைப்பின்படியே. இந்த சேவையகம் அல்லாத வேறு இடத்தில் கடவுச்சொல்லின் ஒரு நகலை வைத்திருங்கள். இது முக்கியமானது. எனவே இது கீழே இன்னும் இரண்டு முறை குறிப்பிடப்படுகிறது.
Ubuntu 24.04-ல் restic-ஐ நிறுவவும்
sudo apt update && sudo apt install -y restic
restic versionUbuntu 24.04-ல் இது restic 0.16.4-ஐ நிறுவுகிறது. தற்போதைய அதிகாரப்பூர்வ வெளியீடு 0.19.1 ஆகும். இந்த வேறுபாடு உள்ளது. ஏனெனில் LTS (நீண்டகால ஆதரவு) வெளியீடு தனது தொகுப்பு பதிப்புகளை உறையவைக்கிறது. இது இங்கே பொருட்படுத்தாது: 0.16.4 இந்த வழிகாட்டியில் உள்ள அனைத்தையும் செய்கிறது. வேக மேம்பாடுகளுக்காக புதிய வெளியீடு வேண்டுமென்றால், restic திட்டத்தின் GitHub வெளியீடுகள் பக்கத்திலிருந்து அதிகாரப்பூர்வ single-binary பதிப்பைப் பதிவிறக்கவும். பிறகு bunzip2 கொண்டு அதை எடுவிடையிடவும். மேலும் /usr/local/bin/restic-ல் நிறுவவும். restic நிறுவலுக்கு இதிலும் வேறு எதுவும் இல்லை.
SFTP வழியாக மற்றொரு சேவையகத்தில் களஞ்சியத்தை உருவாக்கவும்
உங்களுக்கு ஒரு இலக்கு இயந்திரம் தேவை: இரண்டாவது ஒரு சிறிய VPS வழக்கமான தீர்வு. SSH சேவையகம் மற்றும் கூடுதல் வட்டு இடம் உள்ள எந்த இயந்திரமும் பயன்படுத்தலாம். Restic SFTP ஐ (SSH வழியாக கோப்பு பரிமாற்றம்) பயன்படுத்துகிறது. எனவே காப்பு புரவலனில் எதுவும் நிறுவத் தேவையில்லை. இந்த வழிகாட்டியில் காப்பு புரவலன் 10.0.0.12 ஆகும். அதில் பயனர் பெயர் restic. அந்த பயனருக்கு backup என்று பெயரிட வேண்டாம்: Ubuntu மற்றும் Debian ஒவ்வொரு நிறுவலிலும் backup (uid 34, உள்நுழைவு ஷெல் இல்லை) என்ற ஒதுக்கப்பட்ட கணக்கை வழங்குகின்றன. எனவே adduser backup தோல்வியடைகிறது. ssh backup@... ஆனது nologin இல் சேருகிறது.
இரவு வேலை காப்பு எடுக்கப்படும் சேவையகத்தில் root ஆக இயங்கும். எனவே root க்கு காப்பு புரவலனுக்கு விசை உள்நுழைவு தேவை. கடவுச்சொல் இல்லாத ஒரு பிரத்யேக விசையை உருவாக்கவும். காரணம், காலை 3 மணிக்கு யாரும் அதைத் தட்டச்சு செய்ய மாட்டார்கள். பிறகு அதை நகலெடுத்து அனுப்பவும்:
sudo ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N "" -C "web1-restic"
sudo ssh-copy-id -i /root/.ssh/id_ed25519.pub restic@10.0.0.12
sudo ssh restic@10.0.0.12 true && echo key login worksவிசைகள் உங்களுக்குப் புதிதாக இருந்தால், SSH விசை நிர்வாக அடிப்படைகள் மாதிரியையும், அனுமதிகளையும், பின்னர் ஒரு விசையை எவ்வாறு ரத்து செய்வது என்பதையும் விளக்குகிறது.
அடுத்தது, களஞ்சிய கடவுச்சொல். root மட்டும் அணுகக்கூடிய ஒரு கோப்பில் வலுவான கடவுச்சொல்லை உருவாக்கவும்:
openssl rand -base64 32 | sudo tee /root/.restic-password
sudo chmod 600 /root/.restic-passwordஇப்போது அந்த கடவுச்சொல்லை உங்கள் கடவுச்சொல் மேலாளரில் நகலெடுத்து வைக்கவும். நீங்கள் அடுத்த கட்டத்திற்குச் செல்வதற்கு முன்பே இதைச் செய்ய வேண்டும். இந்த VPS செயலிழந்தால், களஞ்சியம் மற்றும் இந்த கடவுச்சொல் இணைந்து அனைத்தையும் மீட்டெடுக்கும். கடவுச்சொல் இல்லாமல் களஞ்சியம் மட்டும் எதையும் மீட்டெடுக்காது.
களஞ்சியத்தைத் தொடங்கவும்:
sudo restic -r sftp:restic@10.0.0.12:/srv/restic/web1 --password-file /root/.restic-password initcreated restic repository 9f3c2a1b0d at sftp:restic@10.0.0.12:/srv/restic/web1மாற்று இலக்கு S3-இணக்கமான பொருள் சேமிப்பு ஆகும். இரண்டாவது ஒரு இயந்திரத்தை இயக்க விரும்பாதபோது இதுவே சரியான தேர்வு. எந்த S3-இணக்கமான பக்கெட்டும் ஒரே மாதிரியாகச் செயல்படும். முகவரி மற்றும் இரண்டு சான்றளவு மாறிகள் மட்டுமே மாறும்:
export AWS_ACCESS_KEY_ID=your-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-key
sudo -E restic -r s3:https://s3.example.com/web1-backups --password-file /root/.restic-password initinit க்குப் பிறகு உள்ள அனைத்தும் இரண்டு இலக்குகளுக்கும் ஒரே மாதிரிதான். இந்த வழிகாட்டியின் மீதமுள்ள பகுதி SFTP முகவரியைக் காட்டுகிறது. உங்களுடையதை அதற்கு மாற்றவும்.
விலக்கங்களுடன் முதல் காப்பு
முழு கோப்பு முறைமையையும் அல்லாமல், நீங்கள் மீண்டும் நிறுவ முடியாத தரவை மட்டும் காப்பு எடுக்கவும். இயக்க முறைமை மறுநிறுவல் மூலம் திரும்ப வரும்; உங்கள் உள்ளமைவும் உங்கள் தரவும் திரும்ப வராது. ஒரு வழக்கமான VPS என்பது /etc, /home, மற்றும் உங்கள் பயன்பாடுகள் நிலையை சேமிக்கும் இடங்களான /srv அல்லது /var/www போன்றவற்றை குறிக்கிறது. தற்காலிக சேமிப்புகளை விலக்கவும், ஏனெனில் அவை பெரியவை, தினமும் மாறுகின்றன, மேலும் அவை தானாகவே மீண்டும் உருவாகின்றன:
sudo restic -r sftp:restic@10.0.0.12:/srv/restic/web1 --password-file /root/.restic-password backup /etc /home /srv --exclude '/home/*/.cache'Files: 4181 new, 0 changed, 0 unmodified
Added to the repository: 731.204 MiB (312.418 MiB stored)
snapshot 5b8a3f2c savedமுதல் இயக்கம் அனைத்தையும் பதிவேற்றுகிறது, எனவே அதற்கு சிறிது நேரம் ஆகும். அதே கட்டளையை மீண்டும் இயக்கவும்; அது சில நொடிகளில் முடிவடையும். சில கோப்புகள் மாற்றப்பட்டதாகவும் சில MiB சேர்க்கப்பட்டதாகவும் தெரிவிக்கும், ஏனெனில் deduplication புதிய தொகுதிகளை மட்டுமே பதிவேற்றுகிறது. நீங்கள் வைத்திருப்பவற்றை பட்டியலிடவும்:
sudo restic -r sftp:restic@10.0.0.12:/srv/restic/web1 --password-file /root/.restic-password snapshotsஒவ்வொரு ஸ்னாப்ஷாட்டும் ஒரு ID, ஒரு நேரம், மற்றும் அதில் உள்ள பாதைகளை காட்டுகிறது. அந்த ID-களிலிருந்துதான் நீங்கள் மீட்டெடுப்பீர்கள்.
systemd timer உடன் இரவுநேர இயக்கங்கள்
ஒவ்வொரு கட்டளையிலும் repository address-ஐ தட்டச்சு செய்வது சலிப்பூட்டும். கைமுறையாக இயக்கும் backup-உம் ஒரு மாதத்திற்குள் நின்றுவிடும். ஒரு script-உம் ஒரு timer-உம் இந்த இரண்டு பிரச்சினைகளையும் தீர்க்கின்றன. அந்த script, restic படிக்கும் இரண்டு environment variable-களான RESTIC_REPOSITORY மற்றும் RESTIC_PASSWORD_FILE-ஐ அமைக்கிறது. எனவே அதற்குள் உள்ள ஒவ்வொரு கட்டளையும் சுருக்கமாக இருக்கும்:
sudo nano /usr/local/bin/restic-backup.sh#!/usr/bin/env bash
set -euo pipefail
export RESTIC_REPOSITORY='sftp:restic@10.0.0.12:/srv/restic/web1'
export RESTIC_PASSWORD_FILE=/root/.restic-password
restic backup /etc /home /srv --exclude '/home/*/.cache'
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
restic checksudo chmod 700 /usr/local/bin/restic-backup.shforget மற்றும் check வரிகள் அடுத்த இரண்டு பிரிவுகளில் விளக்கப்பட்டுள்ளன. இப்போது திட்டம்: script-ஐ இயக்கும் ஒரு oneshot service, மற்றும் ஒவ்வொரு இரவும் 03:00 மணிக்கு அதை இயக்கும் ஒரு timer. இங்கு timer ஒரு cron வரியை விட சிறந்தது, ஏனெனில் இயக்கம் journal-இல் பதிவாகிறது. மேலும் Persistent=true சர்வர் downtime-க்குப் பிறகு மீண்டும் இயங்கத் தொடங்கியதும் தவறிய backup-ஐ உடனே இயக்குகிறது.
# /etc/systemd/system/restic-backup.service
[Unit]
Description=Nightly restic backup
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/restic-backup.sh# /etc/systemd/system/restic-backup.timer
[Unit]
Description=Run the nightly restic backup
[Timer]
OnCalendar=*-*-* 03:00:00
RandomizedDelaySec=15m
Persistent=true
[Install]
WantedBy=timers.targettimer-ஐ enable செய்யவும். பிறகு service-ஐ ஒருமுறை கைமுறையாக இயக்கி அது எப்படி வேலை செய்கிறது என்பதைக் கவனிக்கவும்:
sudo systemctl daemon-reload
sudo systemctl enable --now restic-backup.timer
sudo systemctl start restic-backup.service
sudo journalctl -u restic-backup.service -fsystemctl list-timers அடுத்த இயக்கம் எப்போது நிகழ்கிறது என்பதைக் காட்டுகிறது. இந்த இரண்டு unit file-களையும் தட்டச்சு செய்வதற்குப் பதிலாக நீங்கள் உருவாக்கவும் செய்யலாம்:
இந்த இரண்டு file-களுக்குப் பின்னால் உள்ள முழு pattern-உம் — calendar syntax மற்றும் ஒரு service கொண்டிருக்கக்கூடிய hardening directive-கள் உட்பட — ஒரு VPS-இல் ஒரு நிரலை systemd service-ஆக இயக்குதல் என்பதில் உள்ளது.
ஒரு காப்பு நகல், நீங்கள் மீட்டெடுக்கும் வரை வெறும் வதந்தியே
இந்த வாக்கியத்தை ஒரு கட்டளையாக ஏற்றுக்கொள்ளுங்கள். ஒவ்வொரு இரவும் பச்சை நிறத்தில் இயங்கும் ஒரு காப்பு நகல் வேலை, அந்த வேலை இயங்கியதை மட்டுமே நிரூபிக்கிறது. உங்கள் தரவு திரும்ப வரும் என்பதை அது நிரூபிக்காது. இந்த இடைவெளியை இரண்டு சரிபார்ப்புகள் நிரப்புகின்றன.
முதலாவது, restic check. இதை ஸ்கிரிப்ட் ஏற்கனவே ஒவ்வொரு இரவும் இயக்குகிறது. இது களஞ்சிய அமைப்பு மற்றும் index ஆகியவற்றைச் சரிபார்க்கிறது. எனவே, காப்பு நகல் host இல் ஏற்படும் மௌன ஊழல், மீட்டெடுக்கும் நாளில் கண்டறியப்படுவதற்குப் பதிலாக, அடுத்த இரவே கண்டறியப்படும். மாதம் ஒருமுறை, ஆழமான பதிப்பை இயக்கவும். இது உண்மையான தரவில் சீரற்ற பத்தில் ஒரு பங்கைப் பதிவிறக்கம் செய்து, குறியாக்கவியல் ரீதியாகச் சரிபார்க்கிறது:
sudo -i
export RESTIC_REPOSITORY='sftp:restic@10.0.0.12:/srv/restic/web1'
export RESTIC_PASSWORD_FILE=/root/.restic-password
restic check --read-data-subset=10%ஒவ்வொரு முறையும் இந்தத் துணைக்கணம் சீரற்றதாக இருப்பதால், மாதாந்திர இயக்கங்கள் முழு பதிவிறக்கத்திற்கான செலவைக் கொடுக்காமலேயே முழு களஞ்சியத்தையும் கடந்து செல்கின்றன.
இரண்டாவது, மீட்டெடுக்கும் பயிற்சி. மேலே குறிப்பிட்ட root shell இல் இருந்துகொண்டே, சமீபத்திய snapshot இலிருந்து ஒரு உண்மையான directory ஐ ஒரு தற்காலிக இடத்திற்கு மீட்டெடுத்து, அதை நேரடி கோப்புகளுடன் ஒப்பிடவும்:
restic restore latest --target /srv/restore-drill --include /etc/ssh
diff -r /etc/ssh /srv/restore-drill/etc/sshdiff எதையும் அச்சிடாது என்றால், ஒவ்வொரு byte ம் பைட் அப்படியே திரும்ப வந்தது என்று பொருள். இதுதான் கணக்கில் எடுத்துக்கொள்ளத்தக்க ஒரே ஆதாரம். பின்னர் /srv/restore-drill ஐ நீக்கவும். இந்தப் பயிற்சியை மாதாந்திரமாகச் செய்யவும். வருடத்திற்கு ஒன்று அல்லது இரண்டு முறை முழு பதிப்பைச் செய்யவும்: சமீபத்திய முழு snapshot ஐயும் ஒரு தற்காலிக VPS இல் மீட்டெடுத்து, உங்கள் application அதிலிருந்து உண்மையில் தொடங்குகிறதா என்று சரிபார்க்கவும். அழுத்தத்தின் கீழ் இது வேலை செய்ய வேண்டிய நாளில், அது நீங்கள் ஏற்கனவே செய்த ஒரு வழக்கமான செயல்முறையாக இருக்க வேண்டும்.
தக்கவைப்பு: forget மற்றும் prune
கொள்கை இல்லாவிட்டால், snapshot-கள் தொடர்ந்து சேர்ந்துகொண்டே இருக்கும். களஞ்சியமும் வளர்ந்துகொண்டே தான் இருக்கும். ஸ்கிரிப்டின் forget வரி ஒவ்வொரு இரவும் ஒரு கொள்கையைப் பயன்படுத்துகிறது. --keep-daily 7 கடந்த ஏழு நாட்களுக்கு ஒரு நாளைக்கு ஒரு snapshot-ஐ வைத்திருக்கிறது. --keep-weekly 4 நான்கு வாரங்களுக்கு ஒரு வாரத்திற்கு ஒன்றை வைத்திருக்கிறது. --keep-monthly 6 ஆறு மாதங்களுக்கு ஒரு மாதத்திற்கு ஒன்றை வைத்திருக்கிறது. எந்த விதியாலும் பாதுகாக்கப்படாத அனைத்தும் நீக்கப்படுகின்றன.
forget தனியாக snapshot பதிவுகளை மட்டுமே நீக்குகிறது. தரவு துண்டுகள் களஞ்சியத்திலேயே இருக்கும். அவற்றை வேறு ஏதாவது நீக்கும் வரை அங்கேயே இருக்கும். --prune அதுதான் அந்த வேலையைச் செய்கிறது. மீதமுள்ள எந்த snapshot-ம் குறிப்பிடாத துண்டுகளை அது கண்டுபிடித்து நீக்குகிறது. அப்போதுதான் வட்டு இடம் உண்மையில் திரும்பக் கிடைக்கிறது. Prune உண்மையான களஞ்சிய வேலையைச் செய்கிறது. ஆகவே, பெரிய களஞ்சியத்தில் சிலர் forget-ஐ ஒவ்வொரு இரவும் இயக்குகிறார்கள். --prune-ஐ வாரந்தோறும் இயக்குகிறார்கள். வழக்கமான VPS அளவுகளில், ஒவ்வொரு இரவும் இயக்குவது போதுமானது.
தரவுத்தளங்கள்: முதலில் dump செய்யவும், பின்னர் அந்த dump-ஐ காப்புப் பிரதி எடுக்கவும்
Restic கோப்புகளைப் படிக்கும்போது பிரதி எடுக்கிறது. ஒரு தரவுத்தளம் அதன் கோப்புகளில் தொடர்ந்து எழுதுகிறது. எழுதும் நிலையில் பிடிக்கப்பட்ட தரவுத்தளக் கோப்பு ஒரு சிதைந்த தரவுத்தளமாக மீட்கப்படும். ஏனெனில் அந்த நகல் எழுதுவதற்கு முன் மற்றும் பின் உள்ள பக்கங்களைக் கலந்து கொண்டிருக்கும். தீர்வு நிலையானது: தரவுத்தள எஞ்சின் ஒரு ஒருங்கிணைந்த ஏற்றுமதியை ஒரு கோப்பாக உருவாக்கட்டும். பிறகு restic அந்தக் கோப்பைக் காப்புப் பிரதி எடுக்கட்டும்.
PostgreSQL-க்கு, restic backup கட்டளைக்கு முன், restic-backup.sh-ன் மேற்பகுதியில் ஒரு dump வரியைச் சேர்க்கவும். காப்புப் பாதைகளில் அந்த dump கோப்புறையையும் சேர்க்கவும்:
mkdir -p /var/backups/db
sudo -u postgres pg_dump myapp | gzip > /var/backups/db/myapp.sql.gzMariaDB மற்றும் MySQL-க்கு mysqldump அதே பங்கை வகிக்கிறது. இந்த முழு முறையின் ஒரு முழுமையான உதாரணத்திற்கு, Nextcloud காப்புப் பிரதி பிரிவு பராமரிப்பு பயன்முறையை இயக்குகிறது. Postgres-ஐ dump செய்கிறது. கோப்புகளை ஒரே ஒருங்கிணைந்த தொகுப்பாக நகலெடுக்கிறது. restic ஒவ்வொரு இரவும் சேவையகத்திலிருந்து எடுத்துச் செல்ல வேண்டியது கட்டாயம் இந்தத் தொகுப்புதான். SQLite-லும் இதே கருத்துதான், ஆனால் எளிய கருவியுடன்: Vaultwarden வழிகாட்டி ஒரு குளிர்ந்த நகலை எடுக்க db.sqlite3-ஐ சில வினாடிகளுக்கு நிறுத்துகிறது. restic சேவையகத்திலிருந்து அனுப்புவது அந்தக் காப்பகம்தான்.
FAQ
restic காப்புப்பிரதிகள் மறைகுறியாக்கப்பட்டவையா?
ஆம், எப்போதும். ஒவ்வொரு restic களஞ்சியமும் AES-256 கொண்டு மறைகுறியாக்கப்படுகிறது. மறைகுறியாக்கமற்ற பயன்முறை இல்லை. ஒவ்வொரு கட்டளைக்கும் களஞ்சிய கடவுச்சொல் தேவை. களஞ்சியத்தை சேமிக்கும் கணினி அல்லது வழங்குநர் மறைகுறியாக்கப்பட்ட blobs-ஐ மட்டுமே வைத்திருக்கிறார்கள். எனவே காப்புப்பிரதி புரவலன் சேதமடைந்தாலும் உங்கள் கோப்புகள் வெளிப்படாது. இதற்கு நேர்மாறான விலை உறுதியானது: கடவுச்சொல் இல்லாவிட்டால் தரவை யாராலும் மீட்டெடுக்க முடியாது. எனவே அதன் நகலை சேவையகத்திலிருந்து வேறு இடத்தில் சேமிக்கவும்.
restic அதிகரிப்பு காப்புப்பிரதிகளை உருவாக்குகிறதா?
ஒவ்வொரு restic snapshot-ம் முழு காப்புப்பிரதி போல செயல்படுகிறது. ஆனால் சேமிப்பு அளவு அதிகரிப்பு முறையில் இருக்கும். restic கோப்புகளை chunks-ஆக பிரிக்கிறது. களஞ்சியத்தில் ஏற்கனவே இல்லாத chunks-ஐ மட்டுமே பதிவேற்றுகிறது. எனவே இரவு இயக்கம் அன்று மாறியவற்றை மட்டுமே பரிமாறுகிறது. பாரம்பரிய அதிகரிப்பு முறையைப் போல இங்கு மீண்டும் இயக்க வேண்டிய சங்கிலி இல்லை. எந்த snapshot-ஐயும் நேரடியாக மீட்டெடுக்கலாம். பழைய snapshot-ஐ நீக்கினாலும் புதியது ஒன்றும் உடையாது.
restic காப்புப்பிரதியிலிருந்து கோப்புகளை எப்படி மீட்டெடுப்பது?
snapshot ID-ஐ காண restic snapshots ஐ இயக்கவும். பிறகு மீட்டெடுக்க restic restore <id> --target /some/empty/dir ஐ இயக்கவும். ஒரு பகுதியை மட்டும் மீட்டெடுக்க --include /path ஐ சேர்க்கவும். ID-க்கு பதிலாக latest செயல்படும். restic இலக்கின் கீழ் மூல அடைவு அமைப்பை மீண்டும் உருவாக்குகிறது. எனவே /etc/ssh ஐ மீட்டெடுத்தால் அது /some/empty/dir/etc/ssh இல் இறங்கும். தேவை ஏற்படும் முன் இதை பயிற்சி செய்யவும். ஏனெனில் சோதிக்கப்படாத காப்புப்பிரதி வெறும் ஊகமே.
restic backup ஐ எவ்வளவு அடிக்கடி இயக்க வேண்டும்?
சேவையகத்திற்கு இரவு ஒருமுறை என்பது பொருத்தமான குறைந்தபட்சம். நீக்கப்படுதல் இதை மலிவாக்குகிறது: ஒவ்வொரு இயக்கமும் கடந்த முறைக்குப் பிறகு மாறிய chunks-ஐ மட்டுமே பதிவேற்றுகிறது. வேகமாக மாறும் தரவு, அல்லது ஒரு நாள் இழந்தாலும் பெருந்துன்பம் தரும் தரவு ஆகியவற்றை சில மணிநேரங்களுக்கு ஒருமுறை அதே timer அமைப்பில் இயக்கலாம். அடிக்கடி இயக்குவது எளிதான பாதி. மேலும் restic check ஐ தொடர்ந்து இயக்கவும். மாதம் ஒருமுறை மீட்டெடுப்பு பயிற்சி செய்யவும். ஏனெனில் சரிபார்க்கப்படாத திட்டம் போலி ஆறுதல்.
restic களஞ்சிய கடவுச்சொல்லை இழந்தால் என்ன நடக்கும்?
காப்புப்பிரதிகளை மீட்டெடுக்க முடியாது. restic மறைகுறியாக்கத்திற்கு பின்வாசல் இல்லை. மீட்டமைப்பு வசதியும் இல்லை. எனவே கடவுச்சொல் காப்புப்பிரதிகளைப் போலவே முக்கியமானது. உங்கள் கடவுச்சொல் மேலாளரில் ஒரு நகலை வைக்கவும். காப்புப்பிரதி எடுக்கும் சேவையகம் அல்லாத வேறு நிலையான இடங்களிலும் வைக்கவும். அணுகல் இருக்கும்போது, restic key add அதே களஞ்சியத்திற்கு இரண்டாவது கடவுச்சொல்லை பதிவு செய்ய முடியும். இது உங்களுக்கு ஒரு கையிருப்பை தரும்.