O'quvchilar tanlovi
Mashhur maqolalar
Salom do'stlar!
Oxirgi marta blog yuritganimga atigi 4 yil bo'ldi. Bu vaqt ichida katta bilim va tajriba bazasi to'plandi. Ko'plab qiziqarli ishlar amalga oshirildi va ko'plab qiziqarli loyihalar amalga oshirildi. Men ulardan ba'zilari haqida (o'qing: "tijorat sirlarini buzmasdan") bir nechta postlarda gapirishga harakat qilaman.
Qaytishimga bir nechta narsa turtki bo'ldi. Birinchidan, ma'lum bo'lishicha, yozilganlarning ko'pi hali ham o'z ahamiyatini yo'qotmagan. Ikkinchidan, odamlar uni o'qishni yaxshi ko'rishlari ma'lum bo'ldi. Bu juda yoqimli edi :) Misol: uch oy oldin intervyuda ular mendan nega blogimni tashlab ketganimni so'rashdi va meni maqtashdi. Agar meni olib ketishsa, devor gazetasiga yozaman, deyishdi. Ular buni olishmadi, shuning uchun men devorlarga gazeta yozmayman :)
Ammo bularning barchasi qo'shiq matni, keling, biznesga kirishaylik.
Yandex.Disk-da zaxira nusxasini o'rnatish vazifasi paydo bo'ldi. Albatta, ko'plab skriptlar mavjud, lekin ko'pchilik faylni nusxa ko'chirish faktini tekshirmasdan, hisobotlar va boshqa narsalarsiz oddiy nusxalashni taklif qiladi. Oxir-oqibat, bitta yaxshi odam menga del laqabli ma'lum bir do'stimning blogiga havola yubordi, u qaror qildi. bu muammo. Uning taxallusini hisobga olib, men ssenariyni o'qib chiqdim, keyin uni sinab ko'rdim. Hammasi yaxshi ishlaydi, barcha fayllar joyida, hech narsa yon tomonga yuborilmaydi.
Men sizni ogohlantiramanki, skript aslida ma'lumotlarni arxivlamaydi. Bular. Siqish bor, lekin u minimal. Agar siz maʼlumotlarni toʻgʻri siqishingiz kerak boʻlsa, FreeBSD uchun “tar --help” yoki “man tar” dan foydalaning. Aytgancha, men FreeBSD-ni ularning odami uchun juda yaxshi ko'raman. Aniqrog'i, ularni o'qish deyarli doimiy ehtiyoj uchun. Har safar o'qiganingizda "taxminan... qotil paydo bo'ladi.." degan tuyg'u paydo bo'ladi, lekin yana umidsizlik. Qotil yo'q, hayotda ma'no yo'q.
Endi skriptning o'zi. Iltimos, diskingizning ildiz katalogida Ilovalar papkasi yaratilishini unutmang. U erda hamma narsani qidiring. Bundan tashqari, skript barcha sharhlarni rus tilida qoldiradi, shuning uchun ko'pchilik kodlash bilan bog'liq muammolarga duch kelishi mumkin. Odatdagidek, ikkita yechim bor. Yoki serverga kerakli narsani o'rnatamiz yoki hamma narsani transliteratsiyaga qayta yozamiz. Siz uni ingliz tiliga ham tarjima qilishingiz mumkin. Ikkinchisi eng yaxshisi, chunki... kim Necronomicon dan iqtiboslarni yoki qo'lda yozilgan shifokor retseptini o'qishni xohlaydi.
Shuni ham yodda tutingki, skriptning boshida standart mavjud #!/bin/bash
Esda tutingki, FreeBSD bash-ni qo'llab-quvvatlamaydi, shuning uchun siz ushbu qatorni bilan almashtirishingiz kerak #!/bin/sh, aks holda u boshlamaydi.
Loyihalarning (saytlarning) zaxira nusxalarini Yandex.Disk-ga bir nechta sabablarga ko'ra yuklashingiz kerak bo'lishi mumkin, masalan, serverda bo'sh joy yo'qligi (xosting, VDS, VPS) yoki zaxira nusxalarini saqlash xavfsizligini oshirish uchun (server ishlamay qolgan bo'lsa). reyd qilinmagan va u xizmatdan chiqib ketadi) bino).
Shu munosabat bilan men o'zim uchun yozdim va boshqalar uchun Yandex.Disk-da zaxiralash uchun kichik bash skriptini joylashtirishga qaror qildim. Skript funktsiyalari:
— Serverda loyihalarning (fayllar + ma'lumotlar bazalari) zaxira nusxasini yaratish MySQL ma'lumotlari);
— Ilova sifatida Yandex.Disk-da avtorizatsiya (token bo'yicha, boshqalar xavfsiz yo'l login va paroldan foydalanishdan ko'ra);
— Yandex.Diskga serverdan zahira nusxalarini yuborish;
— Joyni tejash uchun Yandex.Disk-dan eski zaxira nusxalarini o'chirish (sozlanishi mumkin maksimal miqdor saqlangan zaxira nusxalari);
— Jurnalni elektron pochta orqali yozib olish va yuborish (sozlanishi mumkin).
Skriptdan foydalanish uchun avval Yandex.Disk'dan token olishingiz kerak. Qani boshladik.
1. Biz diskida zaxira nusxasini yaratadigan hisob qaydnomasi ostida Yandex-ga kiring, oauth.yandex.ru saytiga o'ting va "Yangi dasturni ro'yxatdan o'tkazish" tugmasini bosing.
2. Ilova nomini to'ldiring (masalan, "zaxira") va chiqaring zarur huquqlar"Yandex.Disk REST API" bo'limida, ya'ni: "Disk haqidagi ma'lumotlarga kirish" va "Diskdagi dastur papkasiga kirish".
Xuddi shu sahifada, "Qayta qo'ng'iroq qilish URL" maydoni ostida, "ishlab chiqish uchun URL o'rniga" tugmasini bosing va "Saqlash" tugmasini bosing:
3. Ilova sozlamalarini saqlaganimizdan so'ng biz ilova ma'lumotlari joylashgan sahifaga yo'naltirilamiz:
4. Endi biz tokenning o'zini olamiz (agar xohlasangiz, bu haqda Yandex qo'llanmasida batafsil o'qishingiz mumkin), buning uchun identifikatorni nusxalaymiz, https://oauth.yandex.ru/authorize?response_type=token&client_id= ni kiritamiz. URL oxirida paydo bo'lgan manzilga o'ting va ilovaga ruxsatlar berilganligini tasdiqlang:
Natijada, sahifada kamida 1 yil davomida chiqarilgan token ko'rsatiladi, shuning uchun zaxira skripti to'satdan ishlamay qolsa, biz yangi tokenni olishimiz va uni skriptga almashtirishimiz mumkin. Qabul qilingan token yordamida Yandex.Disk bilan ishlash imkoniyatlarini maxsus test saytida sinab ko'rishingiz mumkin.
Va endi Yandex.Disk-ga zaxiralash uchun bash skriptining o'zi:
Tayyor skript faylini ham yuklab olishingiz mumkin. Skript serverga joylashtirilishi kerak, parametrlar o'zingiznikiga almashtirilishi kerak, ishga tushirish huquqi (chmod +x) berilishi va har kuni cronda bajarilishi kerak. Agar siz ushbu vazifalarning bir nechtasini bajarishni rejalashtirmoqchi bo'lsangiz, ularni ishga tushirish orasidagi vaqtni belgilang (5-10 daqiqa).
– qulay, funktsional va arzon yechim. Handy Backup sizga Yandex.Disk uchun mashhur WebDAV interfeysidan foydalanishdan qochish imkonini beradi, buning o'rniga to'g'ridan-to'g'ri kirishdan foydalaning.
Handy Backup yordamida siz Yandex.Disk-ga istalgan ma'lumotlarni avtomatik ravishda, jadval bo'yicha oylardan daqiqalargacha yoki hodisalar bo'yicha yoki qo'lda zaxiralashingiz mumkin. Siz har qanday ma'lumotlarni nusxalashni avtomatlashtirishingiz mumkin, masalan:
Foydalanuvchi ma'lumotlari:
Server ma'lumotlar turlari:
Virtual mashinalar va saqlash:
Boshqa ma'lumotlar turlari:
Handy Backup o'rnatilgan shifrlash va ma'lumotlarni parol bilan himoyalangan arxivga siqish orqali tijorat ma'lumotlarini xavfsiz uzatish imkonini beradi. ochiq tarmoqlar va ma'lumotlar yaxlitligi uchun qo'rqmasdan uni ommaviy bulut xizmatida saqlang.
Roʻyxatda keltirilgan barcha asosiy tijorat yechimlari bilan mos keladigan rasmiy sertifikatga ega boʻlishdan tashqari, Handy Backup ham oʻz ichiga oladi. Rossiya kompyuter dasturlari yagona reestri.
dan farqli o'laroq ishonchli himoya shifrlash va siqish vositalari tomonidan taqdim etiladi, umuman Handy Backup yaratadi zaxira nusxalari asl fayl formatini saqlab qolgan holda. Bu sizga oddiy fayllar sifatida zaxira nusxalarini ko'rish, tahrirlash va hatto tiklash imkonini beradi.
Yuklab olish
Sotib oling!
2017-yil 15-sentabrdagi 7.9.4-versiyasi. 66,1 MB
Dastur Zaxira nusxasi
Foydali zaxira. 7400 rubl litsenziya uchun
Office Expert yechimi istalgan turdagi ma'lumotlarni bitta kompyuterdan Yandex.Diskga avtomatik ravishda jadval bo'yicha to'g'ridan-to'g'ri va WebDAV orqali nusxalash imkonini beradi. Bepul sinov muddati 30 kun!
Eskirgan WebDAV zaxira nusxasi o'rniga endi Yandex.Disk zaxira nusxalarini tashkil qilish uchun ishlatiladi yangi plagin Handy Backup Yandex Disk kirish imkoniyati bilan bulut xizmati RestAPI interfeysi orqali. Uni ishlatish uchun quyidagi amallarni bajaring:
Yandex.Disk-ga avtomatik zahiraviy yuklash vazifangiz bajarishga tayyor va kelajakda belgilangan chastotada belgilangan vaqtda ishga tushiriladi. Siz uni istalgan vaqtda qo'lda boshlashingiz mumkin.
Izoh: xuddi shu tarzda, boshqa bulut xizmatlariga ma'lumotlarni nusxalash uchun vazifalar yaratiladi: Google Drive, Dropbox, Microsoft OneDrive, Amazon S3, Box va boshqalar.
Ushbu video darslik Yandex Disk-ga zaxira nusxasini yaratish, shuningdek, ushbu bulutda saqlangan ma'lumotlarni zaxiralash bo'yicha ko'rsatmalarni o'z ichiga oladi.
Diqqat: Bu video Ko'rsatmalar Handy Backup dasturi allaqachon kompyuterda o'rnatilgan degan taxminga asoslanadi. Agar bunday bo'lmasa, video darslikni boshlashdan oldin Handy Backup dasturini yuklab oling va o'rnating.
Yandex.Disk xizmatiga to'g'ridan-to'g'ri kirish uchun yangi vosita mavjudligiga qaramasdan, ba'zi hollarda an'anaviy usul afzalroq bo'lishi mumkin - masalan, tashqi kriptografiya yordam dasturidan foydalangan holda WebDAV orqali Yandex.Disk-ga saytni zaxiralash.
Handy Backup WebDAV protokoli yordamida Yandex.Disk-ga zaxiralashni to'liq qo'llab-quvvatlaydi.
Diqqat: WebDAB-dan foydalanganda Yandex.Disk-ga zaxiralash to'g'ridan-to'g'ri kirishga qaraganda biroz sekinroq bo'lishi mumkin. Misol uchun, 1C-ni Yandex.Disk-ga zaxiralash odatda WebDAV-dan foydalanganda sezilarli vaqtni oladi.
Yandex.Disk-ga Handy Backup yordamida avtomatik zaxiralash Yandex bulut xizmatiga to'g'ridan-to'g'ri kirishdan foydalanadigan yangi vositaning joriy etilishi bilan yanada oson va tezroq bo'ldi. 30 kunlik bepul sinov versiyasini yuklab olib, o'zingiz sinab ko'ring!
Men Yandex.Disk tomonidan taqdim etilgan barcha zavqlarni tasvirlamayman, hamma ularni biladi ... Va ulardan biri Yandex Disk-ga VPS zaxira nusxasini tashkil qilish qobiliyatidir. Mening serverim Debian-da ishlaydi, shuning uchun biz uni ko'rib chiqamiz. Odatdagidek, unutmaslik uchun!
Aslida, men bir yildan ko'proq vaqt oldin zaxira nusxasini o'rnatdim, lekin yaqinda nimadir buzildi va men uni o'rnatish haqida ma'lumotni yana birlashtirishga majbur bo'ldim. Ko'p foydali maqolalar va ma'lumotlar bor, lekin tan olamanki, men "birdaniga" hech narsa topa olmadim. Shuning uchun men yozyapman, hamma narsani bir joyda to'playman, ta'bir joiz bo'lsa, o'zim uchun, balki boshqa birovga ham foydali bo'lar. Buzilishning sabablari quyida, men buni tushundim, lekin endi sozlamalar haqida ...
1. Fayllarni Y.Diskga nusxalash WebDAV protokoli orqali amalga oshiriladi va serverimizda birinchi navbatda davfs2 yordam dasturini o'rnatishimiz kerak.
# apt-get o'rnatish davfs2
2. O'rnatish nuqtasini yoki oddiyroq qilib aytganda, bizning serverimizda zaxira nusxalarimiz "tashlab qo'yiladigan" papkani yarating, mening holimda u: mnt/yandex.disk
# mkdir /mnt/yandex.disk
3. Har safar diskingiz uchun login va parolni qo'lda kiritmaslik uchun biz ularni davfs2 konfiguratsiya faylida saqlaymiz. Bu yerda: /etc/davfs2/secrets, uni shunday saqlang:
# echo "https://webdav.yandex.ru SIZNING_YANDEX_LOGIN_YANDEX_PAROLINGIZ" >> /etc/davfs2/secrets
4. Diskni o'rnating:
# mount -t davfs https://webdav.yandex.ru /mnt/yandex.disk/
5. Bizda hammasi yaxshi yoki yo'qligini tekshiring:
# df -h /mnt/yandex.disk/
Agar hamma narsa birga o'sgan bo'lsa, unda biz shunga o'xshash narsani ko'rishimiz kerak:
Foydalanilgan fayl tizimi hajmi Foydalanish% Oʻrnatilgan
https://webdav.yandex.ru
10G 1G 10G 10% /mnt/yandex.disk
6. Serverni qayta ishga tushirgandan so'ng, biz hamma narsani yana qo'lda o'rnatishimiz shart emas, shuning uchun /etc/rc.local fayliga yozing:
uyqu 120 && mount -t davfs https://webdav.yandex.ru /mnt/yandex.disk
Biz buni 0-chiqish bilan chiziq ustiga yozamiz. 120 raqami - soniyalarda bajarilish kechikishi. Asos sifatida, qiymat kamroq yoki ko'proq o'rnatilishi mumkin ... O'rnatishdan oldin menda ikki daqiqalik kechikish bor, shunda hamma narsa aniq yuklanadi.
O'rnatishdan so'ng, /mnt/yandex.disk papkasi Yandex.Disk bilan sinxronlashtiriladi va biz faqat serverda zaxira nusxalarini sozlashimiz kerak, ya'ni ular /mnt/yandex.disk papkasida saqlanadi... Lekin. Bu boshqa maqola uchun mavzu ..) Bo'ldi!..
Esingizda bo'lsin, maqolaning boshida men "bir narsa buzilgan" deb aytdim ... Va u buzilgan, ma'lum bo'lishicha, FUSE. Yoki yadro yangilanishi paytida yoki boshqa sabablarga ko'ra u buzildi. Natijada, montaj qilishda men "/sbin/mount.davfs: o'rnatish uchun bepul koda qurilmasi yo'q" va blah blah blah bir xil ruhda yana bir nechta satrlarni oldim. FUSE men uchun mavjud edi, lekin boshlanmadi. Ishga tushirilgan:
#modprobefuse
Biroq, VPS-ni qayta ishga tushirgandan so'ng, uni yana qo'lda boshlash kerak edi. Albatta, /etc/initramfs-tools/modules faylining oxiriga sug'urta qo'shish orqali yadroni qayta tiklashingiz yoki buni osonroq qilishingiz mumkin.
Yoki oddiyroq:
# echo "sug'urta" >> /etc/modules
Habrning ushbu retsepti men uchun ishladi.
Bo'ldi shu. Hammasi joyida degan ma'noda!
Yandex.Disk - bu uning bir qismi bo'lgan bir nechta Yandex xizmatlaridan biridir dasturiy ta'minot ish stoli uchun. Va uning eng muhim tarkibiy qismlaridan biri sinxronizatsiya algoritmidir mahalliy fayllar bulutdagi ularning nusxasi bilan. Yaqinda biz uni butunlay o'zgartirishga majbur bo'ldik. Agar eski versiya hatto bir necha o'n minglab fayllarni hazm qilishda qiynalgan bo'lsa va bundan tashqari, foydalanuvchining ba'zi "murakkab" harakatlariga tezda javob bermasa, yangisi xuddi shu resurslardan foydalanib, yuz minglab fayllarni engadi.
Ushbu postda men sizga nima uchun bu sodir bo'lganini aytib beraman: biz Yandex.Disk dasturiy ta'minotining birinchi versiyasini ishlab chiqqanimizda nimani oldindan ko'ra olmadik va qanday qilib yangisini yaratdik.
Avvalo, sinxronizatsiya vazifasining o'zi haqida. Texnik jihatdan, u foydalanuvchining kompyuterida va bulutda Yandex.Disk papkasida bir xil fayllar to'plamiga ega bo'lishdan iborat. Ya'ni, fayllar nomini o'zgartirish, o'chirish, nusxalash, qo'shish va o'zgartirish kabi foydalanuvchi harakatlari avtomatik ravishda bulut bilan sinxronlashtirilishi kerak.
Agar bir vaqtning o'zida bir nechta foydalanuvchi bir xil hisobda ishlayotgan bo'lsa yoki umumiy papkaga ega bo'lsa, vaziyat yanada murakkablashishi mumkin. Va bu Yandex.Disk-dan foydalanadigan tashkilotlarda tez-tez sodir bo'ladi. Tasavvur qiling-a, oldingi misolda, biz backenddan birinchi qayta nomlash haqidagi tasdiqni olganimizda, boshqa foydalanuvchi ushbu jildni qayta nomlaydi va qayta nomlaydi. Bunday holda, birinchi foydalanuvchi o'z kompyuterida allaqachon bajargan harakatlarni darhol amalga oshirishning iloji yo'q. U mahalliy sifatida ishlagan papka hozirda backendda boshqacha chaqirilgan.
Ba'zida foydalanuvchining kompyuteridagi faylni bulutda chaqirilgandek nomlash mumkin emas. Agar nomda mahalliy fayl tizimi tomonidan foydalanilmaydigan belgi bo'lsa yoki foydalanuvchi taklif qilingan bo'lsa, bu sodir bo'lishi mumkin umumiy jild, va uning shunday nomli o'z papkasi mavjud. Bunday hollarda biz mahalliy taxalluslardan foydalanishimiz va ularning bulutdagi ob'ektlar bilan bog'lanishini kuzatishimiz kerak.
Algoritmning ushbu versiyasida biz uchta asosiy daraxtdan foydalandik: mahalliy (Mahalliy indeks), bulut (masofaviy indeks) va oxirgi sinxronlashtirilgan (Barqaror indeks). Bundan tashqari, allaqachon navbatga qo'yilgan sinxronizatsiya operatsiyalarini qayta tiklashning oldini olish uchun yana ikkita yordamchi daraxt ishlatilgan: kutilgan mahalliy va bulutli kutilayotgan (Kutilayotgan masofaviy indeks va kutilayotgan mahalliy indeks). Ushbu yordamchi daraxtlar mahalliy aholining kutilgan holatini saqlab qoldi fayl tizimi va bulutlar, allaqachon navbatga qo'yilgan barcha sinxronlash operatsiyalarini tugatgandan so'ng.
Shuningdek, foydalanuvchi muammosiz ishlashi mumkin bo'lgan maksimal fayllar sonini ko'paytirishni xohladik. Misol uchun, Yandex.Disk-da fotosessiya natijalarini saqlaydigan fotosuratchi bir necha o'nlab yoki hatto yuz minglab fayllarga ega bo'lishi mumkin. Odamlar Yandex.Disk-da qo'shimcha joy sotib olish imkoniga ega bo'lganda, bu vazifa ayniqsa dolzarb bo'ldi.
Men ham rivojlanishda ba'zi narsalarni o'zgartirmoqchi edim. Nosozliklarni tuzatish eski versiya qiyinchiliklarga olib keldi, chunki bitta elementning holati to'g'risidagi ma'lumotlar turli xil daraxtlarda edi.
Bu vaqtga kelib, orqa tomonda ob'ekt identifikatorlari paydo bo'ldi, ularning yordamida harakatlarni aniqlash muammosini samaraliroq hal qilish mumkin edi - ilgari biz yo'llardan foydalanganmiz.
Bu katta o'zgarish ekanligini tushunganimiz sababli, biz yangi yechimning samaradorligini tasdiqlovchi prototipni yaratdik. Keling, yangi faylni sinxronlashtirishda daraxtdagi ma'lumotlar qanday o'zgarishiga misolni ko'rib chiqaylik.
Yandex.Disk sha256 va MD5 dayjestlaridan fayllarning yaxlitligini tekshirish, o'zgartirilgan fragmentlarni aniqlash va backenddagi fayllarni takrorlash uchun foydalanadi. Ushbu vazifa juda ko'p CPU intensiv bo'lgani uchun, yangi versiyada dayjest hisob-kitoblarini amalga oshirish sezilarli darajada optimallashtirildi. Fayl dayjestini qabul qilish tezligi taxminan ikki baravar oshirildi.
Kiritilgan o'zgarishlar natijasida dastur muammosiz ishlay oladigan fayllar soni sezilarli darajada oshdi. Windows uchun versiyada - 300 000, Mac OS X da - 900 000 fayl.
Tegishli maqolalar: | |
ESP fayli: bu nima va uni qanday ochish kerak
Yaratish to'plami muharriridan foydalanmasdan plaginni qanday yaratish mumkin (ayniqsa). Nima uchun Steam xizmati ishga tushmaydi va nima qilish kerak
Steam jarayonining o'zi muzlatilgan Agar Steam jarayoni boshlanmasa, unda... Muhimlik - bu oddiy so'zlar bilan nima
Ushbu maqolada men ma'lumotlarning dolzarbligi haqida batafsil gaplashaman - bu nima ... |