PowerShell skripta
Ova skripta može se koristiti za automatski uvoz SQL datoteka starijih od 20 minuta u MySQL bazu podataka. Korisno je ako omogućite SQL tekstualno bilježenje za konfiguracije visoke performanse. Da biste izvršili ovu skriptu, morate je spremiti s .ps1 ekstenzijom, te morate omogućiti izvršavanje PowerShell skripti za Windows u uređivaču grupne politike (ili morate izvršiti skriptu kao Administrator).
Savladavanje automatizacije PowerShell skripti (video tutorial)
Postupak postavljanja automatskog MySQL batch posla koristeći PowerShell skriptu za uvoz SQL datoteka u vašu bazu podataka pomoću Ozeki SMS Gatewaya demonstrira se u ovom video vodiču. Možete jednostavno upravljati svojim zapisima poruka i održavati čistu bazu podataka za svoje SMS komunikacije uz pomoć ovog rješenja. Na kraju ovog videa, jasno ćete razumjeti kako koristiti uključenu PowerShell skriptu za automatizaciju procesa uvoza SQL datoteka u vašu MySQL bazu podataka, održavajući organiziranu i učinkovitu arhivu SMS komunikacija.
Kreirajte sljedeću MySQL tablicu
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;
Prvi korak je kreiranje tablice messagereport u bazi podataka. Sve odlazne i dolazne poruke bit će pohranjene u ovoj tablici i ažurirane prema njihovom statusu. Ako ste već kreirali ovu tablicu, možete preskočiti ovaj korak. Kopirajte gornju skriptu za kreiranje tablice i izvršite je u svojoj bazi podataka kao što možete vidjeti na Slici 1.
Spremite sljedeću PowerShell skriptu kao "dbimport.ps1"
Sljedeći korak je kreiranje datoteke "dbimport.ps1" u mapi C:\Ozeki kao što je prikazano na Slici 2. Ova datoteka će sadržavati skriptu koja periodično izvršava SQL upite u bazi podataka.
$ProcessedDir = "C:\Ozeki\Processed" New-Item -ItemType Directory -Force -Path $ProcessedDir #beskonačna petlja while (1) { #popis datoteka starijih od 20 minuta #pobrinite se da je vrijeme veće od razdoblja koje ste koristili u konfiguraciji izvješćivanja Get-ChildItem "C:\Ozeki\Reporting_SQL" -Filter *.sql | Where{$_.LastWriteTime -le (Get-Date).AddMinutes(-20)} | Foreach-Object { #učitavanje sadržaja datoteke u MySQL bazu podataka Write-Output $_.FullName $Text = Get-Content -Path $_.FullName Write-Output $Text | C:\'Program Files'\MySQL\'MySQL Server 5.7'\bin\mysql -uroot -pmypass mydatabase #premještanje obrađene datoteke u mapu Processed Move-Item -Path $_.FullName -Destination $ProcessedDir } #pauza od 5 sekundi Start-Sleep -s 5 }
Kopirajte gornju PowerShell skriptu i zalijepite je u datoteku "dbimport.ps1" kao što možete vidjeti na Slici 3.
Konačno, modificirajte skriptu prema vlastitoj MySQL bazi podataka. U putanji promijenite broj verzije MySQL baze podataka. Unesite korisničko ime i lozinku koje želite koristiti, te zamijenite "mydatabase" s nazivom vaše baze podataka (Slika 4).
powershell -ExecutionPolicy Bypass -File dbimport.ps1
Sada izvršite skriptu u PowerShellu pokretanjem gornje naredbe kao što možete vidjeti na Slici 5.
Možete vidjeti da skripta izvršava sve SQL datoteke starije od 20 minuta u mapi 'C:\Ozeki\Reporting_SQL' jednu po jednu (Slika 6).
Svaka SQL datoteka koju je skripta izvršila premještena je u mapu Processed kako se ne bi izgubili upiti (Slika 7). Odatle ih možete ručno izbrisati ako vam više nisu potrebne.
Konačno, ako pogledate u bazu podataka, možete vidjeti da su sve poruke umetnute u tablicu messagereport kao što prikazuje Slika 8.
More information
- MSSQL skripta
- Powershell skripta za čitanje MySQL batch posla
- Planer zadataka