−25%

د Windows پر کلنۍ تادیه، تر ۳۱ اکتوبر. پلانونه وګورئ

EQVPS

د restic په مرسته د VPS بیک اپ څنګه واخلو (کوډ شوی، له سرور بهر)

د restic سره کوډ شوي او بې تکراره VPS بیک اپونه: په S3 سره مطابق ذخیره یا بل سرور کې ریپوزیټري، د systemd ټایمر، د ساتلو پالیسي او د بېرته راګرځولو ازموینه.

هر څوک بیک اپ لري تر هغې چې یو بېرته راوګرځوي. فولډر خالي ووځي، د cron دنده په مارچ کې مړه شوې وي، یا آرشیف په هماغه ډیسک وي چې همدا اوس خراب شو. restic له دې ډېری حلوي: ستاسو په لوري کوډ کوي، د ډېټا هره ټوټه یو ځل ساتي، او د یو فایل بېرته راګرځول د ټول سرور د بیک اپ په څېر اسانه کوي.

دا یو داسې تنظیم دی چې موږ به یې واقعاً باور وکړو، په Ubuntu یا Debian کې.

۱. restic نصب کړئ

apt update && apt install -y restic
restic self-update

د ډیسټریبیوشن پکېجونه وروسته پاتې وي؛ self-update اوسنۍ نسخه راوړي.

۲. د ریپوزیټري لپاره ځای وټاکئ

ریپوزیټري باید په هغه سرور نه وي چې ساتنه یې کوئ. دوه عام انتخابونه:

۳. د لاسرسي معلومات وساتئ

هر څه په یو داسې فایل کې وساتئ چې یوازې root یې لوستلی شي، څو ټایمر او ستاسو shell ورته تنظیمات وکاروي:

cat > /root/.restic-env <<'EOF'
export RESTIC_REPOSITORY="s3:https://s3.example.com/my-bucket/web1"
export RESTIC_PASSWORD_FILE="/root/.restic-pass"
export AWS_ACCESS_KEY_ID="your-key-id"
export AWS_SECRET_ACCESS_KEY="your-secret"
EOF
openssl rand -base64 32 > /root/.restic-pass
chmod 600 /root/.restic-env /root/.restic-pass

اوس د /root/.restic-pass منځپانګه خپل پاسورډ مدیر ته کاپي کړئ. پرته له هغه بیک اپونه نشي خلاصېدای — نه ستاسو لخوا، نه د بل چا لخوا.

۴. ریپوزیټري پیل کړئ او لومړی بیک اپ واخلئ

source /root/.restic-env
restic init
restic backup /etc /home /root /srv /var/www \
  --exclude-caches --exclude '/root/.cache'
restic snapshots

لارې له هغه ځای سره برابرې کړئ چېرې چې ستاسو ډېټا واقعاً ده. د Docker volumes په /var/lib/docker/volumes کې دي؛ د اپلیکېشنونو ډېټا اکثراً په /srv یا /opt کې.

۵. ډېټابېسونه: لومړی ډمپ، بیا بیک اپ

د چلېدونکي ډېټابېس د خامو فایلونو بیک اپ مه اخلئ. د بیک اپ څخه سمدستي مخکې ډمپ واخلئ:

mkdir -p /var/backups/db
sudo -u postgres pg_dump -Fc mydb > /var/backups/db/mydb.dump

/var/backups/db د بیک اپ لارو ته ورزیات کړئ. زموږ د PostgreSQL لارښود د ډمپونو په اړه نور معلومات لري.

۶. د systemd په مرسته یې مهالوېش کړئ

دلته ټایمر له cron ښه دی: په journal کې لاګ لیکي او که سرور په ټاکلي وخت بند و، پاتې شوی چلول وروسته پوره کوي.

# /etc/systemd/system/restic-backup.service
[Unit]
Description=restic backup

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'source /root/.restic-env && restic backup /etc /home /root /srv /var/www /var/backups/db --exclude-caches && restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune'
# /etc/systemd/system/restic-backup.timer
[Unit]
Description=Daily restic backup

[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true

[Install]
WantedBy=timers.target
systemctl daemon-reload
systemctl enable --now restic-backup.timer
systemctl list-timers restic-backup.timer

forget --prune اوه ورځني، څلور اونیز او شپږ میاشتني سنېپ شاټونه ساتي او پاتې ړنګوي. که د ډېټابېس د ډمپ ګام لرئ، هغه په یوه ExecStartPre= کرښه کې واچوئ.

۷. واقعاً یو څه بېرته راوګرځوئ

همدا ګام "موږ بیک اپ لرو" په حقیقت بدلوي. یو فولډر یو لنډمهاله ډایرکټري ته بېرته راوګرځوئ او وګورئ:

source /root/.restic-env
restic restore latest --target /tmp/restore-test --include /etc/nginx
ls -la /tmp/restore-test/etc/nginx
restic check

دا یو ځل همدا اوس وکړئ او بیا هر څو میاشتې. restic check د ریپوزیټري جوړښت تاییدوي؛ بېرته راګرځول ثابتوي چې ډېټا واقعاً شته.

restic او Managed Backups

دوی سیالان نه دي. Managed Backups هره ورځ د ټول سرور یو د بېرته راګرځولو ټکی جوړوي چې له ډشبورډ یې بېرته راګرځوئ — د ناکامه تازه کولو وروسته چټک حل. بیه یې په میاشت $2 ده او په هر کلني پلان کې وړیا شامل دي. restic د فایل په کچه، له سرور بهر، په هغه ذخیره کې کاپیانې درکوي چې تاسو یې کنټرولوئ — دا هغه وخت مهم دی چې ستونزه یو فایل وي چې تېره سه‌شنبه ړنګ شو، یا کله چې غواړئ یوه کاپي بشپړه زموږ له زیربنا بهر ولرئ.

که حساسه ډېټا ساتئ، دا د ډیسک د بشپړ کوډ کولو سره یوځای کړئ، یا د خپل بیک اپ منزل د چلولو لپاره د کوډ شوې ذخیرې کارونه وګورئ. د ډېرو کوچنیو سرورونو او د هغوی د بیک اپ دندو لپاره Micro پلان بس دی.

پوښتنې

که د restic پاسورډ ورک کړم څه به کېږي؟

بیک اپونه د تل لپاره له منځه ځي. restic هر څه د کلاینټ په لوري کوډ کوي او د بېرته راګرځولو کیلي نشته. پاسورډ په پاسورډ مدیر کې وساتئ، نه یوازې په هغه سرور چې بیک اپ یې اخلئ.

ریپوزیټري باید چېرته وي؟

له پخپله سرور پرته هر ځای: د S3 سره مطابق د شیانو ذخیره، د SFTP له لارې بل VPS یا په کور کې یو ماشین. په ورته ډیسک بیک اپ له هماغه ډیسک سره مري.

د restic په مرسته د ډېټابېس بیک اپ څنګه واخلم؟

لومړی ډمپ واخلئ او د ډمپ بیک اپ واخلئ — د PostgreSQL لپاره 'pg_dump -Fc'، د MySQL لپاره 'mysqldump --single-transaction'. د چلېدونکي ډېټابېس د فایلونو کاپي کول ښايي داسې بیک اپ درکړي چې پیل نه شي.

بیک اپونه څومره ځای نیسي؟

له هغه لږ چې فکر کوئ. restic فایلونه په ټوټو وېشي او هره ټوټه یو ځل ساتي، نو د لږ بدلېدونکي سرور ورځني سنېپ شاټونه یوازې بدل شوې ډېټا ورزیاتوي.

ایا لا هم Managed Backups ته اړتیا لرم؟

دا بېلې ستونزې حلوي. Managed Backups د ټول سرور ورځني د بېرته راګرځولو ټکي درکوي چې له ډشبورډ یې بېرته راګرځوئ. restic د فایل په کچه، له سرور بهر او ستاسو تر کنټرول لاندې کاپیانې درکوي. ډېر خلک دواړه کاروي.

تبصرې

لا تبصرې نشته. لومړی اوسئ.

یوه تبصره پریږدئ

تبصرې د ښکاره کیدو مخکې اعتدال کیږي.