adminBOT: Telegram vasitəsi ilə müxtəlif komandaların icrası.

Salam hörmətli TechNet.az istifadəçiləri.

Son 1-2 ay iş ilə dolu olsa da nəhayət ki yeni, çoxdan arzuladığım mövzu üzərində məqalə yazmağa qərər verdim. Bu məqaləni yazmağımın səbəbi mənim bir neçə gün əvvəl aşağıda qeyd etdiyim hal ilə üz-üzə qalmağım oldu. Mənim bəzən toplantı və ofisdən kənar olan olduğum hallarda istifadə etdiyimiz program təminatının problemlərindən biri olan, “birdən”  serverdə çalışan OpenOffice servisinin əlçatmaz olmağı ilə qarşı-qarşıya olmalı oluram və yeganə çıxış kimi onu “söndürüb-yandırmaq” çıxışı həmişə osifdə olmadığımdan çevik baş vermir.  İT şöbəsinin əməkdaşlarından birinə yeganə mənim cavabdeh olduğum serverə icazə verə bilmədiyimdən* çıxış axtarmalı oldum. Əlavə olaraq mən bəzi qeyri kritik servisləri periodik yox, yalnız təcili ehtiyyac olduğu halda rezerv nüsxələmə prossesinin icra etmək yolu haqqında fikirləşirdim.

Beləliklə mənə yerimindən (toplantıda olan zaman, avtobusla gedərkən və sairə) aslı olmadan hər yerdə bəzi administrativ tapşırıqarı icra etməyə ehtiyyac yarandı. Bu arada mən bu ilin əvvəlində bir xəbər servisi üçün müvəqqəti hələ o zamanlar “APİ.Aİ” vasitəsi ilə yaratdığım telegram chat botu yadıma düşdü və qabağıma onun administrator üçün yararlı versiyasın yaratmaq yadıma düşdü.

Nəhayət bu gün ilkin funksional versiyasın işə saldım və sizə təqdim edirəm. Layihəni GitHub saytına öz istifadəçimdə yerləşdirmişəm. Təklif və iradlarınız olsa saytda “İssue” aça və ya buraya şərh yaza bilərsiniz.

Qısa məlumat:

adminBOT kiçik və orta çətinlikdə olan administrativ tapşırıqları həll etmək üçün istifadə oluna bilər. İstifadə olunan Telegram API-si pyTelegramBotAPI.

İstifadə olunan kitabxanalar və dillər:

  • Python 3.6 – sadə olduğu qədər güclü programlaşdırma dili.
  • pyTelegramBotAPI – sadə amma çevik pyhton üzərində yazışmış Telegram APİ-si.
  • psutil – sistem monitorinqi və sistem resursları istifadəsi üçün istifadə olunan kitabxana.
  • Batch.
  • Python daxilində olan os modulu əməliyyat sistemi funksiyalarının istifadəsi üçün nəzərdə tutulmuş modul.
  • Python daxilində olan glob modulu unix tipli qısayol modulu.
  • SQLite modulu. Məlumat bazası kimi çıxış edir.
  • Şifrələr və mesajlardan “hash”yaradılması üçün istifadə olunan hashlib modulu.

Bot ilə hal-hazırda mümkün tapşırıqlar:

  • arxivləşdirmə
  • qovuğ rezerv nüsxələrin çıxarılması
  • məlumat bazası rezerv nüsxələrin çıxarılması
  • sistem haqqında məlumatın alınması
  • servislərin “restart”-ı
  • Log faylların çat üzərindən göndərilməsi
  • xüsusi “əmr modu” əmrləri bilavasitə mesajdan icra edir.

Özəlliklər

  • artırılmış təhlükəsizlik – şifrlərin məlumat bazasında md5 (salt) vəziyyətində saxlanılması.
  • əlavə olunmuş məlumat bazası– istifadəçi faylların və məlumatların çevik və yüngül SQLite məlumat bazasında saxlanılması.
  • əmr əsasında təhlükəsizlik funksiyaları və mütərəqqi autentifikasiya & avtorizasiya alqoritmləri – hər bir verilmiş əmr avtorizasiya mexanizmından keçir. Hər bir istifadəçi üçün 30-dəqiqəlik sessiya yaradılması Sizi kənar şəxslərin əməllərinən qoruyur.

Planlaşdırılan funksional:

  • SQL Sorğuların icrası
  • “Webhook” istifadə olunması
  • SQL Server Reporting Services integrasiyası (hesabatların icrası və çat üzərindən alınması)
  • SQL Server Integration Services integration (tapşırıqların icrası)

Nümaiş

  • Əslində bu problemi “gözəllik” üçün qeyd etmişəm, mən çoxdan servisin “ölü” olduğu gördükdə servisi avtomatik restart edən skript yazmışam. Və əlbəttə ki skript olmasa belə əməkdaşa minimal haqqlar vermək də mümkün olardı.
Səs: +30. Bəyənilsin Zəifdir

Müəllif: Omar Bayramov

Şərhlər ( 1 )

  1. Təşəkkürlər, Ömər bəy.

Şərh yazın