نص PowerShell

يمكن استخدام هذا النص لاستيراد ملفات SQL الأقدم من 20 دقيقة تلقائيًا إلى قاعدة بيانات MySQL. يكون مفيدًا إذا قمت بتمكين تسجيل نص SQL لـ تكوينات عالية الأداء. لتنفيذ هذا النص، يجب عليك حفظه بامتداد .ps1، ويجب تمكين تنفيذ نصوص PowerShell لـ Windows في محرر سياسة المجموعة (أو يجب تنفيذ النص كمسؤول).

إتقان أتمتة نصوص PowerShell (فيديو تعليمي)

يتم في هذا الدليل المرئي توضيح عملية إعداد مهمة دفعية تلقائية لـ MySQL باستخدام نص PowerShell لاستيراد ملفات SQL إلى قاعدة البيانات الخاصة بك باستخدام Ozeki SMS Gateway. يمكنك بسهولة إدارة سجلات الرسائل والحفاظ على قاعدة بيانات نظيفة لاتصالاتك النصية بمساعدة هذا الحل. في نهاية هذا الفيديو، ستفهم بوضوح كيفية استخدام نص PowerShell المرفق لأتمتة عملية استيراد ملفات SQL إلى قاعدة بيانات MySQL الخاصة بك، مما يحافظ على أرشيف منظم وفعال للاتصالات النصية.

الفيديو 1 - كيفية استيراد ملفات SQL إلى قاعدة البيانات الخاصة بك باستخدام Ozeki SMS Gateway (فيديو تعليمي)

قم بإنشاء جدول MySQL التالي

CREATE TABLE messagereport
(
    logid int not null auto_increment primary key,
    messageid varchar(64),
    fromconnection varchar(64),
    fromaddress varchar(64),
    requestedconnection varchar(64),
    toconnection varchar(64),
    toaddress varchar(64),
    messagetext varchar(1024),
    route varchar(64),
    datecreated datetime,
    datedeliverytoconnectionsuccess datetime,
    datedeliverytoconnectionfailed datetime,
    deliverytoconnectionreference varchar(256),
    deliverytoconnectionstatusmessage varchar(1024),
    datedeliverytorecipientsuccess datetime,
    datedeliverytorecipientfailed datetime,
    deliverytorecipientstatusmessage varchar(1024),
    status varchar(64),
    INDEX(messageid)
) charset = utf8;

الخطوة الأولى هي إنشاء جدول messagereport في قاعدة البيانات. سيتم تخزين جميع الرسائل الصادرة والواردة في هذا الجدول وتحديثها وفقًا لحالتها. إذا كنت قد قمت بإنشاء هذا الجدول بالفعل، يمكنك تخطي هذه الخطوة. انسخ نص إنشاء الجدول أعلاه وقم بتنفيذه في قاعدة البيانات الخاصة بك كما تراه في الشكل 1.

إنشاء جدول messagereport
الشكل 1 - إنشاء جدول messagereport

احفظ نص PowerShell التالي كـ "dbimport.ps1"

الخطوة التالية هي إنشاء ملف "dbimport.ps1" في مجلد C:\Ozeki كما هو موضح في الشكل 2. سيحتوي هذا الملف على النص الذي يقوم بتشغيل استعلامات SQL في قاعدة البيانات بشكل دوري.

إنشاء ملف النص
الشكل 2 - إنشاء ملف النص

$ProcessedDir = "C:\Ozeki\Processed"
New-Item -ItemType Directory -Force -Path $ProcessedDir

#حلقة لا نهائية
while (1) {
    #سرد الملفات الأقدم من 20 دقيقة
    #تأكد من أن الوقت أكبر من الفترة التي استخدمتها في تكوين الإبلاغ
    Get-ChildItem "C:\Ozeki\Reporting_SQL" -Filter *.sql | 
        Where{$_.LastWriteTime -le (Get-Date).AddMinutes(-20)} |
    
    Foreach-Object {
        #تحميل محتويات الملف إلى قاعدة بيانات mysql
        Write-Output $_.FullName
        $Text = Get-Content -Path $_.FullName
        Write-Output $Text | C:\'Program Files'\MySQL\'MySQL Server 5.7'\bin\mysql -uroot 
        -pmypass mydatabase
        
        #نقل الملف المعالج إلى مجلد المعالجة
        Move-Item -Path $_.FullName -Destination $ProcessedDir
    }
    
    #انتظر لمدة 5 ثوانٍ
    Start-Sleep -s 5
}

انسخ نص PowerShell أعلاه والصقه في ملف "dbimport.ps1" كما تراه في الشكل 3.

لصق النص في الملف
الشكل 3 - لصق النص في الملف

أخيرًا، قم بتعديل النص وفقًا لقاعدة بيانات MySQL الخاصة بك. في المسار، قم بتغيير رقم إصدار قاعدة بيانات MySQL. أدخل اسم المستخدم وكلمة المرور التي تريد استخدامها، واستبدل "mydatabase" باسم قاعدة البيانات الخاصة بك (الشكل 4).

تغيير أمر MySQL
الشكل 4 - تغيير أمر MySQL

نفذ البرنامج النصي كمسؤول

powershell -ExecutionPolicy Bypass -File dbimport.ps1

الآن قم بتنفيذ البرنامج النصي في PowerShell عن طريق تشغيل الأمر أعلاه كما تراه في الشكل 5.

تشغيل برنامج PowerShell النصي
الشكل 5 - تشغيل برنامج PowerShell النصي

يمكنك أن ترى أن البرنامج النصي ينفذ جميع ملفات SQL الأقدم من 20 دقيقة في مجلد 'C:\Ozeki\Reporting_SQL' واحدًا تلو الآخر (الشكل 6).

تنفيذ البرنامج النصي لاستعلامات SQL
الشكل 6 - البرنامج النصي ينفذ استعلامات SQL

يتم نقل كل ملف SQL تم تشغيله بواسطة البرنامج النصي إلى مجلد "Processed" حتى لا تضيع أي استعلامات (الشكل 7). من هنا، يمكنك حذفها يدويًا إذا لم تعد بحاجة إليها.

تم نقل ملفات SQL إلى مجلد Processed
الشكل 7 - ملفات SQL تم نقلها إلى مجلد Processed

أخيرًا، إذا نظرت إلى قاعدة البيانات، يمكنك أن ترى أنه تم إدراج جميع الرسائل في جدول messagereport كما يظهر في الشكل 8.

تم إدراج الرسائل في قاعدة البيانات
الشكل 8 - تم إدراج الرسائل في قاعدة البيانات

More information