Men ushbu maqolani katalogdagi o'zgarishlarni kuzatish uchun turli xil operatsion tizimlar tomonidan taqdim etilgan API-larni ko'rib chiqishga bag'ishlamoqchiman. Maqola mening dklab_realsync yordam dasturi (github ombori) va o'zimning o'zimning o'zimniki o'zgarishlarni kuzatish bo'yicha ishim natijasida paydo bo'ldi, men buni hali e'lon qilmoqchi emasman.
Biroq, ba'zi tuzoqlar mavjud:
Xulosa: ReadDirectoryChangesW funksiyasi fayllardagi barcha hodisalarni osongina bilib olish imkonini beradi, ammo voqea navbati toʻlib ketishi mumkin va keyin siz bajarishingiz kerak boʻladi. to'liq skanerlash FS. Voqealar dolzarb bo'lishidan oldin ularni etkazish ham mumkin.
Xulosa: Mac OS X uchun FSEvents API barcha bunday APIlarning eng noodatiyidir. Navbat to'lib ketmaydi va hatto o'tmishdagi voqealarni qabul qilish mumkin. Shu bilan birga, hodisalarning granularligi katalog aniqligi bilan berilgan (10.7 versiyasigacha), bu demon fayllarni sinxronlashtirishda unchalik samarali emasligini anglatadi.
Inotify orqali rekursiv kataloglarni kuzatishning kamchiliklari:
* Rasm dan olingan
O'rnatishni talab qilmaydigan kichik dastur, siz ko'rsatgan papkadagi fayllarni kuzatish uchun mo'ljallangan. Bu sizga mahalliy va ham monitoring qilish imkonini beradi tarmoq papkasi va ogohlantirishlarni ish stolida ham, tarmoq orqali ham, elektron pochta orqali ham ko'rsating! Dastur shuningdek, bat fayllari yoki ba'zi ilovalarni ishga tushirish orqali o'zgarishlarga tezda javob berish qobiliyatiga ega.
Shunday bo'ladiki, bugungi kunda hamma u yoki bu tarzda kompyuterga bog'liq. Men kasallik sifatida kompyuterga qaramlik haqida gapirmayapman, yo'q :). Shunchaki, har bir foydalanuvchi shaxsiy fayllarini shaxsiy kompyuterida saqlaydi...
Va bir nechta odam bitta kompyuterda ishlashi mumkinligi sababli, tabiiyki, hech kim sizning ma'lumotlaringizni hech qaerga olib ketmasligiga ishonch hosil qilishingiz mumkin.
Eng radikal usul - shaxsiy papkani parol bilan shifrlash. Biroq, bu har doim ham qulay emas, masalan, tarmoq orqali unga kirish kerak bo'lsa...
Bunday holda, siz yordamga murojaat qilishingiz mumkin maxsus dasturlar kerakli kataloglardagi fayl o'zgarishlarini kuzatish uchun. Ular tanlangan papkalarni doimiy ravishda kuzatib borish va ularning mazmuni o'zgargan taqdirda foydalanuvchini ular haqida xabardor qilish imkonini beradi. Bunday kam sonlilardan biri bepul dasturlar hisoblanadi Oddiy kuzatuvchi.
Oddiy kuzatuvchi, oddiy nomiga qaramay, juda kuchli monitoring vositasidir. fayl tizimi, bu sizga bitta papkani va butun diskni yoki hatto umumiy tarmoq katalogini kuzatish imkonini beradi. Siz uni boshqa pullik bilan solishtirishingiz mumkin ichki rivojlanish- Folder Watchdog xizmati:
Simple Observer-ning yagona kamchiliklari - bir vaqtning o'zida bir nechta papkalarni kuzatishning mumkin emasligi. Qolganlarning hammasi shunchaki ortiqcha :).
Ilovaning yana bir afzalligi shundaki, u o'rnatishni talab qilmaydi! Dastur bilan ishlashni boshlash uchun uni faqat arxivdan chiqarib, istalgan joyga joylashtirish kerak qulay papka(nazorat qilinishi kerak bo'lgan bo'lsa ham). Hammasi - biz ishlashga tayyormiz :).
Oh Ha! Sizni kutubxonalar shaxsiy kompyuteringizga o'rnatilishi kerakligi haqida ogohlantirishni deyarli unutib qo'ydim .NET Framework 3.5 (odatda ular tizim bilan o'rnatiladi, lekin ular mavjud bo'lmasligi mumkin, shuning uchun har qanday holatda yuklab olish havolasi: https://www.microsoft.com/ru-ru/download/details.aspx?id=21 ).
Dasturni ishga tushirgandan so'ng biz quyidagilarni ko'ramiz:
Qo'rqmang :). Bizdan hech kim pul talab qilmaydi - ro'yxatdan o'tish mutlaqo bepul. Va agar siz inkognito identifikatoringizni oshkor qilishni xohlamasangiz, unda siz umuman ro'yxatdan o'tishingiz shart emas! Buning uchun "Ro'yxatdan o'tmang" tugmasini bosing.
Biroq, kelajakda dasturni har safar boshlaganingizda buni qilishingiz kerak bo'ladi, shuning uchun kerakli ma'lumotlarni tegishli maydonlarga kiritish va "Ro'yxatdan o'tish" tugmasini bosish osonroq bo'ladi.
Shundan so'ng, bizning oldimizda dasturning asosiy oynasi paydo bo'ladi:
U bir nechta funktsional tugmalardan, tomosha qilingan papkaga havola va dastur faoliyati haqidagi ma'lumotlarni aks ettiruvchi holat qatoridan iborat.
Jildni kuzatishni boshlashdan oldin, men sizga Simple Observer sozlamalari bilan tanishishingizni maslahat beraman. Ularga kirish uchun siz "Sozlamalar" tugmasini bosishingiz kerak:
Dastur sozlamalari to'rtta yorliqda to'plangan. Va ulardan birinchisi - "Monitoring". Bu erda kuzatuv funktsiyalari uchun javobgar bo'lgan sozlamalar mavjud. Quyidagi parametrlarga e'tibor berishga arziydi:
Ikkinchi yorliq - "Xabarnoma":
Bu erda biz papkadagi o'zgarishlar haqida olgan bildirishnoma turini sozlashimiz mumkin. Odatiy bo'lib, bildirishnoma laganda ustida paydo bo'ladi va standart signal bilan birga keladi. Biroq, siz ogohlantirishni butunlay o'chirib qo'yishingiz, signalni o'zgartirishingiz yoki mahalliy tarmoq orqali ogohlantirishni o'rnatishingiz mumkin.
Agar siz tarmoq bildirishnomalarini o'rnatishga qaror qilsangiz, "Funktsiya bo'yicha muhim eslatmalar" havolasidagi ma'lumotlarni o'qing.
"Amallar" yorlig'i kuzatilayotgan papkadagi o'zgarishlarni aniqlagandan so'ng dastur tomonidan bajarilishi mumkin bo'lgan barcha funktsiyalarni o'z ichiga oladi:
Bu erda biz sozlashimiz mumkin:
Elektron pochta xabarnomalari bilan ishlashga alohida e'tibor qaratish lozim. Agar siz elektron pochtangizga hisobotlarni (shuningdek o'zgartirilgan fayllarni) olishni istasangiz pochta qutisi, keyin siz "Hisobotlarni elektron pochta orqali yuborish" katagiga belgi qo'yishingiz kerak va keyin faollashtirilgan "Sozlamalar" tugmasini bosing:
Sozlamalar oynasida biz quyidagi parametrlarni belgilashimiz kerak:
Bundan tashqari, siz "Yangi fayllarni biriktirish" opsiyasiga e'tibor berishingiz mumkin. Bu sizga elektron pochta orqali o'zgartirilgan fayllarni ogohlantirish bilan birga yuborish imkonini beradi.
Internet-kanalni haddan tashqari yuklamaslik va trafikni behuda sarflamaslik uchun (agar u to'langan bo'lsa), siz "…dan kattaroq fayllarni yubormang" opsiyasidan foydalanib, yuborilgan fayllar hajmini cheklashingiz mumkin. Quyida, aksincha, har doim yuboriladigan fayllarni ko'rsatish imkoniyati ham mavjud. Bunday fayl, masalan, dasturning ishlash jurnali bo'lishi mumkin.
Sozlash tugallangandan so'ng, "Test" tugmasini bosish orqali uning to'g'riligini tekshirishingiz mumkin:
Agar hamma narsa to'g'ri sozlangan bo'lsa, siz test xabari bilan elektron pochta xabarini olasiz.
Oxirgi yorliq "Dastur":
Bu erda tegishli variantlar mavjud umumiy sozlamalar Oddiy kuzatuvchi, masalan, tizim ishga tushganda avtomatik ishga tushirish, papka monitoringini avtomatik ishga tushirish, dasturni laganda ichida yashirish va boshqalar. Bu erda siz yangilanishlarni tekshirishingiz va qalqib chiquvchi xabarlarni ko'rsatishni faollashtirishingiz mumkin (agar ular sukut bo'yicha ko'rinmasa).
Endi sizda hamma narsa kerakli tarzda sozlangan, siz Simple Observer dasturi bilan bevosita ishlashni boshlashingiz mumkin. Va birinchi navbatda, siz monitoring uchun papkani belgilashingiz kerak. Odatiy bo'lib, butun disk C: tanlangan, shuning uchun yo'lni o'zgartirish uchun "Papka" tugmasini bosishingiz va Explorer oynasida kerakli katalogni belgilashingiz kerak:
Ish stolida alohida test papkasini yaratdim, lekin jildning joylashuvi muhim emas - dastur barcha disklar bilan bir xil darajada ishlaydi. Biroq, yana bir bor eslatib o'tish joizki, siz faqat Explorer orqali mahalliy katalogni belgilashingiz mumkin. Masofadan nazorat qilish uchun umumiy jild uning manzili kiritilishi kerak birinchi sozlamalar oynasi!
Shunday qilib, biz hammamiz tayyormiz - kuzatishni boshlashimiz mumkin. Buning uchun "Ishga tushirish" tugmasini bosing:
Uni bosgandan so'ng, "To'xtatish" tugmasi yoqiladi, "Papka" tugmasi o'chiriladi va jild kuzatilgan vaqt, undagi o'zgarishlar soni va vaqt to'g'risidagi ma'lumotlar holat qatorida paydo bo'ladi. oxirgi o'zgarish. Dastur oynasini yashirish uchun uni kichraytirish kifoya, shunda u lagandaga kichraytiriladi. Tovoqlar belgisini bir marta bosish orqali oynaga yana qo'ng'iroq qilishingiz mumkin.
Simple Observer funksiyasini sinab ko'rish uchun test papkamizga bir nechta faylni joylashtiramiz:
Ko'rib turganingizdek, dastur o'zgarishlarni aniqladi va bizga papkada ma'lum nomga ega yangi fayl paydo bo'lganligini ko'rsatdi. Bu haqda elektron pochtamga ham xabar yuborildi. Simple Observer xabarining yana bir xususiyati shundaki, agar siz bildirishnoma oynasini bossangiz, sizning oldingizda papkangiz ochiladi, unda o'zgartirilgan fayl ajratib ko'rsatiladi!
Simple Observer tomosha qilingan papkada birinchi faollikni aniqlashi bilanoq, u avtomatik ravishda fayl yaratadi watch.log. Bu matn fayli, unda sodir bo'lgan barcha hodisalar haqidagi hisobotlar yoziladi va saqlanadi.
Ushbu faylni oddiy bloknot yordamida ochish mumkin, ammo uni dasturning o'rnatilgan vositalari yordamida ko'rish qulayroqdir. Buning uchun "Jurnal" tugmasini bosing:
Bu erda biz voqea haqidagi ma'lumotlarni ko'ramiz (harakat, sana, vaqt, fayl nomi va o'zgartirilgan papka) va filtr tizimi tufayli kerakli yozuvni tezda topishimiz mumkin. Bu erda, shuningdek, jurnal faylining o'lchami juda "shishgan" bo'lsa, uni tezda tozalash imkonini beruvchi tugma mavjud :).
Aytgancha, jurnal faylining nomi va joylashuvini bilib, siz Simple Observer-ni har bir xabar bilan birga hisobot faylini yuboradigan qilib sozlashingiz mumkin. elektron pochta(sozlamalar bo'limiga qarang).
Bugungi kunda Simple Observer, ehtimol, o'ziga xos yagona bepul (hatto tijorat maqsadlarida foydalanish uchun) dasturdir!
Shuning uchun, agar siz yo'qligingizda shaxsiy ma'lumotlaringizni nazorat qilishni o'rnatishga qaror qilsangiz, boshqa variantni topa olmaysiz :). Bundan tashqari, dastur faqat bitta papkani kuzatishni qo'llab-quvvatlashdan tashqari, deyarli hech qanday kamchiliklarga ega emas.
P.S. Manbaga ochiq faol havola ko'rsatilgan va Ruslan Tertishniyning muallifligi saqlanib qolgan holda, ushbu maqoladan erkin nusxa ko'chirish va iqtibos keltirish uchun ruxsat beriladi.
Agar siz yagona shaxsiy kompyuter foydalanuvchisi bo'lmasangiz, unda uzoq vaqt davomida mashinadan foydalanmaganingizdan so'ng, ushbu vaqt ichida qanday o'zgarishlar yuz berganligini aniq bilib olishingiz kerak bo'lishi mumkin. Bunday holatlar ham bo'lishi mumkin qattiq disk faollikni ko‘rsatadi, lekin u foydali jarayonlarni qayta ishlash bilan bandmi yoki zararli dastur ishlayaptimi, aniq ayta olmaysiz. FolderChangesView dasturi fayllardagi o'zgarishlarni kuzatishga va fayl tizimidagi barcha o'zgarishlar haqida so'nggi ma'lumotlarni olishga yordam beradi.
FolderChangesView - bu fayllar va papkalardagi barcha o'zgarishlarni kuzatish uchun maxsus yaratilgan kichik yordamchi dastur. Dastur real vaqt rejimida fayllar bilan sodir bo'lgan barcha o'zgarishlarni ko'rsatadi va butun natija foydalanuvchiga qulay jadvalda ko'rsatiladi. Siz dasturni ishlab chiquvchining rasmiy veb-saytidan havola orqali yuklab olishingiz mumkin (bu erda siz shunchaki dastur bilan jildga ko'chirish orqali o'rnatilgan yoriqni yuklab olishingiz mumkin): http://www.nirsoft.net/ utils/folder_changes_view.html
Yordamchi dastur o'rnatishni talab qilmaydi, chunki arxivda faqat bitta .exe fayli mavjud. Dastur uchun alohida papka yaratish, yoriqni yuklab olish va unga ushbu ikki faylni tashlash tavsiya etiladi. Ishga tushgandan so'ng, sizning oldingizda konfiguratsiya menyusi ochiladi (agar siz dasturdan chiqib, uni qayta ochsangiz, menyu yana sizning oldingizda paydo bo'ladi).
Bu erda siz diskni, papkalarni yoki butun bo'limni tanlashingiz kerak qattiq disk, bu tahlil qilinishi kerak. Jildni tanlashda “Shuningdek quyi kataloglarni skanerlash” bandini belgilang. Shuningdek, sizda kuzatilishi shart bo'lmagan papkalarni ko'rsatish imkoniyati mavjud: siz papkaga yo'lni belgilashingiz va "Chiqartirish" yonidagi katakchani belgilashingiz kerak. quyidagi papkalar".
Xo'sh, dan xulosa foydali sozlamalar nazorat qilinadigan fayllar hajmini belgilashingiz mumkin. Ushbu asosiy sozlamalarni tanlagandan so'ng, shunchaki "Ok" tugmasini bosing va tanlangan papkalarni kuzatish jarayoni boshlanadi.
Men ushbu maqolani katalogdagi o'zgarishlarni kuzatish uchun turli xil operatsion tizimlar tomonidan taqdim etilgan API-larni ko'rib chiqishga bag'ishlamoqchiman. Maqola mening dklab_realsync yordam dasturi (github ombori) va o'zimning o'zimning o'zimniki o'zgarishlarni kuzatish bo'yicha ishim natijasida paydo bo'ldi, men buni hali e'lon qilmoqchi emasman.
Biroq, ba'zi tuzoqlar mavjud:
Xulosa: ReadDirectoryChangesW funksiyasi fayllardagi barcha hodisalar haqida osongina bilib olish imkonini beradi, lekin voqea navbati to'lib ketishi mumkin va keyin fayl tizimini to'liq skanerdan o'tkazishingiz kerak bo'ladi. Voqealar dolzarb bo'lishidan oldin ularni etkazish ham mumkin.
Xulosa: Mac OS X uchun FSEvents API barcha bunday APIlarning eng noodatiyidir. Navbat to'lib ketmaydi va hatto o'tmishdagi voqealarni qabul qilish mumkin. Shu bilan birga, hodisalarning granularligi katalog aniqligi bilan berilgan (10.7 versiyasigacha), bu demon fayllarni sinxronlashtirishda unchalik samarali emasligini anglatadi.
Inotify orqali rekursiv kataloglarni kuzatishning kamchiliklari:
* Rasm dan olingan
operatsiya xonasi Windows tizimi Disklarda nima borligi haqida tasavvurga ega bo'lish imkonini beruvchi Explorer vositasi mavjud. Fayllar ro'yxatiga qo'shimcha ravishda biz ularning o'lchamlari va yaratilgan yoki o'zgartirilgan sanasi haqidagi ma'lumotlarni ham ko'ramiz. Biroq, bu diskni eng ko'p yopib qo'yadigan ma'lumotlarni topish uchun juda kam ma'lumot.
Ushbu maqoladagi ilovalarni ikki toifaga bo'lish mumkin. Birinchisi, diskni vizuallashtirishga ixtisoslashgan dasturlar. Ma'lumotlarning ushbu grafik tasviri fayllar ro'yxatidan ko'ra yaxshiroq qabul qilinadi. Ikkinchi guruh asboblari tanlangan saqlash vositalarida saqlangan barcha ma'lumotlar orasida alohida fayl turlarining ishtiroki bo'yicha statistik ma'lumotlarni ko'rsatadigan ilovalardir.
Kompyuterning qattiq diskidagi fayllar hajmi va sonini ifodalaydi grafik shakl, shuningdek, biz tanlagan olinadigan muhitda.
Kamchiliklari:
Tarqatish turi: bepul dastur
Narxi: tekinga
SpaceSniffer skanerdan o'tkazadi va sizga tanlangan drayvlar tarkibini oson o'qiladigan ierarxik ranglar sxemasida ko'rsatadi.
Tarqatish turi: bepul dastur
Narxi: tekinga
TreeSize Free har qanday media tarkibini tezda skanerlash imkonini beradi va natijalar ochiladigan daraxtda ko'rsatiladi.
Kamchiliklari:
Tarqatish turi: bepul dastur
Narxi: tekinga
JDiskReport - Excel jadvallarini eslatuvchi jadvallar ko'rinishidagi statistikani sevuvchilar uchun. Daraxtlar o'rniga bizda gistogrammalar va doiraviy diagrammalar mavjud.
Kamchiliklari:
Tarqatish turi: bepul dastur
Narxi: tekinga
FolderSize xulosa oynasi orqali ta'kidlanadi. U diagrammalar va turli mezonlar bo'yicha saralanishi mumkin bo'lgan fayllar yoki papkalar ro'yxatini ko'rsatadi.
Kamchiliklari:
Tarqatish turi: bepul dastur
Narxi: tekinga