Asosiy tarkibga o'tish

Yandeks.Diskga davfs orqali zaxiralash



Zaxiralash muhim ma'lumot bo'lgan har qanday serverda bajarilishi kerak bo'lgan muhim vazifa. Turli usullar bilan hal qilinishi mumkin. Katta tizimlar uchun bu kutilmagan server bekatisiz zahira nusxalarini yaratadigan tegishli dasturdir.

Kichkina tizimlar uchun (o'nlab saytlar bilan server) muammolar oddiy usullar yordamida va masalan, Yandex.Disk-da ma'lumotlarni nusxalash uchun o'z-o'zidan yozilgan buyruqlardan foydalanish yo'li bilan hal qilinishi mumkin. Buning afzalligi shundaki, qo'shimcha serverga pul sarflashning hojati yo'q (yoki ayrim hosterlar taqdim etgan zaxiralar uchun maxsus xotira). Yandeks tomonidan ajratilgan o'n gigabayt etarli bo'lishi mumkin.



Siz Yandex-da maxsus hisob qaydnomasini saqlashingiz mumkin yoki sizning domeningizda Pochta uchun ishlatiladigan pochta qutisidan foydalanishingiz mumkin.

Maqolaning mazmuni:

Bunday zaxiraga nima kerak?

Zarur bo'lgan narsa, davfs2 to'plami bo'lib, u orqali veb-saytlar bo'limi tizimga o'rnatiladi.

  # Aptitude o'rnatish davfs2 

To'siqlarni sozlash

Konfiguratsiya fayllari / etc / davfs2 papkasida joylashgan. Davfs.conf fayli barcha qiymatlarni standart qiymatlar bilan qamrab oladi. Hozircha unga tegmaymiz.



Ikkinchi fayl qiziq - maxfiy so'zlar, parollar, proksi-server va sertifikat sozlamalarini o'z ichiga oladi. Keyinchalik, formadagi yozuvni ro'yxatdan o'tkazishingiz kerak bo'lgan "Credential Line" bo'limi:

  / mnt / yadisk vashemail@yandex.ru vashparol 

Birinchi dalillar o'rnatish nuqtasi, ikkinchisi Yandex pochta (login), uchinchi parol. Bularning barchasi aniqlanishi kerak.

/ Etc / fstab-ga ulanish nuqtasini va kirishni yaratish

Bo'lim bir joyga o'rnatilishi kerak. Yuqoridagi misolda ko'rinib turganidek, bu o'zingiz bilan almashtirilishi mumkin bo'lgan / mnt / yadisk katalogi. Faqat root orqali kirish bilan yarating:


  # mkdir -m 0700 / mnt / yadisk 

So'ngra biz / etc / fstab faylini tahrir qilamiz va u erda qatorni yozamiz:

  https://webdav.yandex.ru / mnt / yadrosi davfs noauto, noexec, nosuid, file_mode = 0600, dir_mode = 0700 0 0 

Bu erda birinchisi - Yandex.Diskga ulanish uchun manzil, ikkinchisi - ulanish nuqtasi, uchinchisi - fayl tizimi turi, to'rtinchisi - variantlar.

  • noauto - o'chirib qo'yilmaydigan fayl tizimi o'rnatilganda OS ishga tushirilganda yoki -a funktsiyasi yordamida o'rnatiladi
  • noexec, nosuid - fayllar va papkalarga ishlaydigan fayllarni ishga tushirishni va suid / sgid bitlarni o'rnatishni o'chiradi.
  • file_mode / dir_mode - faqat fayllar va papkalar uchun ruxsatlarni belgilaydi, faqat egasi uchun (root, foydalanuvchi va guruh uid va gid parametrlarida ko'rsatilmagan bo'lsa

Bo'lim avtomatik ravishda o'rnatilmaydi? Faqat zaxiralash paytida kerak. Va keyin a) bekor qiling, b) kontentni sinxronizatsiya qilish uchun kichik miqdordagi trafikni iste'mol qiladi.

Fstabni saqlaganingizdan so'ng, siz / mnt / yadisk buyrug'ini o'rnatib, bo'limni to'g'ri o'rnatilganligiga ishonch hosil qilishingiz mumkin.

Zahiralash skript

Serverda bir nechta sayt bor. Asosan, kontent juda kam o'zgaradi va siz to'liq nusxa ko'chirish usuli bilan foydalanishingiz mumkin.

Ushbu maqsadlar uchun bash haqida kichik oddiy skript yozishdi.

  #! / ming / bash
 # O'zgaruvchilari boshlang
 BACKUPDIR = "/ var / tmp" # Zaxiralash uchun qo'llanma
 TMPDIR = "zaxira" # Fayllarning nusxalari uchun vaqtinchalik jild, keyin arxivlanadi
 YADISK = "/ mnt / yadisk" # Mount nuqtasi
 SQLDIR = "sqldb" # Ma'lumotlar bazalari uchun jild
 SQLUSER = "root"
 SQLPASS = "12345"
 TIMEY = $ (sana +% F_% H% M% S) # Vaqt formati YEAR-MON-DAY_ soniyasiga bir soniya
 # Ma'lumotlar bazalari uchun jildning mavjudligini tekshirib ko'ramiz, agar mavjud bo'lmasa, kerakli bo'lganlar yaratiladi.
 agar [!  -d "$ BACKUPDIR / $ TMPDIR / $ SQLDIR"];  keyin
 mkdir -p -m 0700 "$ BACKUPDIR / $ TMPDIR / $ SQLDIR"
 fi
 # Yandex.Disk-ni ulang
 "$ YADISK" ni o'rnatish
 # Zahira nusxalarini yarating
 # 1 ma'lumotlar bazasi
 CD "$ BACKUPDIR / $ TMPDIR / $ SQLDIR"
 mysql -s -r -e "SHOW DATABASES" da ma'lumotlar bazasi uchun  grep -v ma'lumotlar bazasi |  grep -v information_schema |  grep -v performance_schema |  grep -v mysql`;
 mysqldump "$ database"> "$ database" .sql; bajarildi
 # 2 Barcha foydalanuvchilar
 CD /
 tar -cf "$ BACKUPDIR" / "$ TMPDIR" /home.tar uy
 # 3 tizim sozlamalari
 tar -cf "$ BACKUPDIR" / "$ TMPDIR" /system.tar etc var / spool / cron / crontabs
 # Biz bzip-arxivga joylashamiz
 CD "$ BACKUPDIR"
 tar -cjf zaxiralash - "$ TIMEY" .tbz2 "$ TMPDIR"
 mv zahira - "$ TIMEY" .tbz2 "$ YADISK"
 # Vaqtinchalik fayllarni o'chirish
 rm -r "$ TMPDIR"
 # Eski arxivlarni o'chirib tashlang
 "$ YADISK" -type f-mtime +4 ni toping  xargs rm -f
 # Yandex.Diskni o'chirib qo'ying
 umount "$ YADISK"
 chiqish 1 

Tana ustida kuniga ikki marta ishlaydi. Ma'lumotlar bazalarining nusxalarini, ma'lum tizim parametrlarini va foydalanuvchi ma'lumotlarini (saytlarni) hosil qiladi. Qisman, bundan oldin nashr etilgan ma'lumotlar bazalarini nusxalash uchun skriptdan iborat.

Ba'zan syslogda xato paydo bo'lishi mumkin:

  mount.davfs: ochiq fayllar maksimal kesh hajmini 50 Mbaytgacha oshiradi 

Bunday holda biz Yandex.Disk qismini o'rnatamiz va yo'qolgan + topilgan papkada nima borligini ko'rib chiqamiz. Biz buni tozalaymiz. Keyin biz / var / cache / davfs2 / papkasining mazmunini tozalashimiz kerak.



Maqolani qanday baholaysiz?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Hech qanday baholash yo'q)
Yuklanmoqda ...

Fikr qo'shish

Sizning elektron pochtangiz e'lon qilinmaydi.