💾
Hosting

VPS snapshot va zaxira nusxa (backup) farqi: qaysi biri sizni qutqaradi

14.11.2026
← Barcha maqolalar

VPS ijaraga olgan ko'pchilik egalar "snapshot olib qo'ydim, demak zaxiram bor" deb o'ylaydi. Aslida snapshot va to'liq zaxira nusxa bir-biriga o'xshasa ham, turli muammolardan himoya qiladi. Snapshot tizimni tez orqaga qaytarish uchun qulay vosita, backup esa server butunlay yo'qolgan yoki ma'lumot bir necha kun oldin buzilgan holatda ham tiklash imkonini beradigan mustaqil nusxadir. Bu farqni tushunmaslik eng og'ir paytda, ya'ni nusxa kerak bo'lib qolganda bilinadi.

Snapshot nima va u qanday ishlaydi

Snapshot virtual mashina diskining ma'lum bir lahzadagi holatini qayd etadi. Ko'pincha u to'liq nusxa ko'chirmaydi: virtualizatsiya tizimi o'sha paytdagi bloklarni muzlatib qo'yadi va keyingi o'zgarishlarni alohida yozib boradi. Shu sababli snapshot bir necha soniya yoki daqiqada tayyor bo'ladi va serverni o'sha holatga juda tez qaytarish mumkin. Masalan, operatsion tizimni yangi versiyaga ko'tarishdan yoki PHP versiyasini almashtirishdan oldin snapshot olish yaxshi odat: biror narsa buzilsa, bir necha daqiqada ishlaydigan holatga qaytasiz.

Biroq snapshot odatda xuddi shu infratuzilmada, ko'pincha o'sha saqlash tizimida turadi. Agar disk massivi ishdan chiqsa, akkauntga ruxsatsiz kirilsa yoki server o'chirib yuborilsa, snapshot ham u bilan birga yo'qolishi mumkin. Bundan tashqari, ishlab turgan serverdan olingan snapshot "crash-consistent" bo'ladi: bu xuddi elektr to'satdan o'chgandagi holatga o'xshaydi. Fayl tizimi buni ko'pincha ko'tara oladi, lekin xotirada turgan va diskka hali yozilmagan ma'lumotlar bazasi tranzaksiyalari to'liq saqlanmasligi mumkin.

Backup nima uchun alohida tushuncha

Backup deganda ma'lumotlarning boshqa joyga ko'chirilgan, serverga bog'liq bo'lmagan nusxasi tushuniladi. U boshqa serverda, obyekt xotirasida (S3 mos xizmat) yoki ofisdagi diskda saqlanishi mumkin. Yaxshi backup bir nechta versiyani ushlab turadi: kechagi, bir hafta oldingi va bir oy oldingi holat. Bu juda muhim, chunki ko'p muammolar darhol sezilmaydi. Masalan, sayt buzib kirilib, fayllarga zararli kod qo'shilgan bo'lsa, buni ba'zan bir-ikki haftadan keyin payqaysiz va faqat eski versiya toza bo'lib chiqadi.

Backup odatda butun diskni emas, kerakli narsalarni saqlaydi: sayt fayllari, ma'lumotlar bazasi dampi, sozlama fayllari (/etc/nginx, cron jadvallari, SSL va ilova konfiguratsiyasi). Operatsion tizimning o'zini qayta o'rnatish oson, lekin sizning ma'lumotlaringiz takrorlanmas.

Farqlarni bir jadvalda solishtirish

MezonSnapshotBackup
Yaratish tezligiJuda tez, soniyalar yoki daqiqalarMa'lumot hajmiga qarab daqiqalar yoki soatlar
Saqlanish joyiOdatda o'sha infratuzilmadaAlohida server yoki xotira
Nima saqlanadiButun disk holatiTanlangan fayllar va baza dampi
Server yo'qolsaKo'pincha birga yo'qoladiSaqlanib qoladi
Eng yaxshi qo'llanilishiYangilanish oldidan tezkor qaytish nuqtasiUzoq muddatli himoya va to'liq tiklash

Ma'lumotlar bazasini to'g'ri nusxalash

Ishlab turgan MySQL yoki PostgreSQL bazasining fayllarini oddiy nusxalash xavfli, chunki nusxa olinayotgan paytda ular o'zgarib turadi. To'g'ri yo'l baza vositalari orqali dump olishdir. InnoDB jadvallari uchun --single-transaction parametri bazani qulflamasdan izchil nusxa beradi, shuning uchun sayt ishlashda davom etadi.

# MySQL / MariaDB
mysqldump --single-transaction --routines --triggers -u backup -p shop_db | gzip > /backup/shop_db_$(date +%F).sql.gz

# PostgreSQL
pg_dump -U postgres -Fc clinic_db > /backup/clinic_db_$(date +%F).dump

Dumpni olgandan keyin uni serverdan tashqariga yuborish kerak. Buning eng sodda usuli rsync orqali boshqa serverga SSH bilan ko'chirishdir. Shifrlash, versiyalash va takroriy bloklarni tejash kerak bo'lsa, restic yoki borg kabi vositalar qulay.

# fayllar va dumplarni boshqa serverga ko'chirish
rsync -az --delete /backup/ backupuser@backup.example.uz:/srv/backups/vps1/

# restic bilan shifrlangan, versiyali nusxa
restic -r sftp:backupuser@backup.example.uz:/srv/restic init
restic -r sftp:backupuser@backup.example.uz:/srv/restic backup /var/www /etc /backup
restic -r sftp:backupuser@backup.example.uz:/srv/restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Amaliy misol: Toshkentdagi internet-do'kon

Tasavvur qiling, Toshkentdagi kichik maishiy texnika do'koni misol.uz saytini VPS'da yuritadi: WooCommerce, MySQL bazasi va kuniga bir necha o'nlab buyurtma. Administrator har tunda soat 03:00 da cron orqali baza dampini oladi, /var/www va /etc bilan birga restic orqali boshqa shahardagi zaxira serverga yuboradi. Restic 7 kunlik, 4 haftalik va 6 oylik nusxalarni saqlaydi. Har safar plagin yoki PHP versiyasini yangilashdan oldin esa qo'shimcha ravishda snapshot olinadi.

# crontab -e
0 3 * * * /usr/local/bin/nightly-backup.sh >> /var/log/nightly-backup.log 2>&1

Bir kuni yangi to'lov plagini o'rnatilgach, sayt oq ekran ko'rsatib qoldi. Administrator 5 daqiqada snapshot orqali serverni ertalabki holatga qaytardi. Boshqa safar esa xodim noto'g'ri SQL so'rov bilan narxlar jadvalini buzib qo'ydi va bu ikki kundan keyin aniqlandi. Bu holatda snapshot yordam bermasdi, chunki u yangilanishdan oldin olingan edi va orqaga qaytish keyingi buyurtmalarni o'chirib yuborardi. Yordamga uch kun oldingi backup keldi: administrator faqat bitta jadvalni eski dumpdan tiklab, qolgan ma'lumotlarga tegmadi.

3-2-1 qoidasi va tiklashni sinash

Zaxira bo'yicha keng tarqalgan tamoyil 3-2-1 qoidasi deb ataladi: ma'lumotning kamida uchta nusxasi bo'lsin, ular ikki xil turdagi saqlash vositasida tursin va bittasi boshqa joyda saqlansin. VPS uchun bu amalda quyidagicha bo'lishi mumkin: serverning o'zidagi ishchi ma'lumot, boshqa serverdagi restic ombori va vaqti-vaqti bilan ofis diskiga yoki boshqa bulut xizmatiga yuklab olingan nusxa.

Eng ko'p e'tibordan chetda qoladigan bosqich tiklashni sinashdir. Tiklanmaydigan backup aslida backup emas. Oyiga bir marta test serverda oxirgi nusxadan saytni ko'tarib ko'ring: dump ochiladimi, fayllar to'liqmi, sayt ishga tushadimi. Shuningdek, backup skripti xato bersa xabar keladigan qilib sozlang, aks holda u bir necha oy jim ishlamay yotishi mumkin.

# oxirgi nusxani vaqtinchalik papkaga tiklab tekshirish
restic -r sftp:backupuser@backup.example.uz:/srv/restic restore latest --target /tmp/restore-test
gunzip -t /tmp/restore-test/backup/shop_db_*.sql.gz && echo "dump OK"

Qachon qaysi birini ishlatish kerak

Snapshotni katta o'zgarish oldidan qisqa muddatli xavfsizlik to'ri sifatida ishlating va ishlar joyida ekaniga ishonch hosil qilgach, uni o'chiring: uzoq turgan snapshotlar disk joyini egallaydi va ba'zi tizimlarda ishlash tezligini pasaytiradi. Backupni esa doimiy, avtomatlashtirilgan va serverdan tashqarida saqlanadigan qilib quring. sayt.uz VPS'ida ishlayotgan bo'lsangiz, snapshot yoki zaxira imkoniyatlari bo'yicha savollarni kabinet yoki texnik yordam orqali aniqlashtirishingiz mumkin, lekin o'z ma'lumotlaringizning mustaqil nusxasini saqlash baribir sizning nazoratingizda bo'lgani ma'qul.

Qisqa qilib aytganda, snapshot "bir qadam orqaga" tugmasi, backup esa "hamma narsa yo'qolsa ham qaytib kelaman" kafolati. Ikkalasi birga ishlatilganda server egasi ham kichik xatolardan, ham jiddiy falokatlardan himoyalangan bo'ladi.

O'xshash maqolalar

🔄 git pull bilan saytni yangilash: hostingda oddiy va ishonchli deploy 🔀 Har bir saytga alohida PHP versiyasi: ISPmanager'da sozlash 🖥️ O'zbekistonda hosting tanlash 2026: mahalliy yoki xorijiy server 🗂️ Inode tugadi: diskda joy bor, lekin fayl yaratib bo'lmayapti — sabab va yechim
🌐 Til
🇺🇿 O'zbek ✓ 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English