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.

Video 1 - Kako uvesti SQL datoteke u vašu bazu podataka koristeći Ozeki SMS Gateway (Video tutorial)

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.

kreiranje tablice messagereport
Slika 1 - Kreiranje tablice messagereport

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.

kreiranje skriptne datoteke
Slika 2 - Kreiranje skriptne datoteke

$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.

zalijepite skriptu u datoteku
Slika 3 - Zalijepite skriptu u datoteku

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).

promijenite MySQL naredbu
Slika 4 - Promjena MySQL naredbe

Izvršite skriptu kao administrator
powershell -ExecutionPolicy Bypass -File dbimport.ps1

Sada izvršite skriptu u PowerShellu pokretanjem gornje naredbe kao što možete vidjeti na Slici 5.

pokretanje powershell skripte
Slika 5 - Pokretanje PowerShell skripte

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).

skripta izvršava SQL upite
Slika 6 - Skripta izvršava SQL upite

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.

SQL datoteke premještene u mapu Processed
Slika 7 - SQL datoteke premještene u mapu Processed

Konačno, ako pogledate u bazu podataka, možete vidjeti da su sve poruke umetnute u tablicu messagereport kao što prikazuje Slika 8.

poruke umetnute u bazu podataka
Slika 8 - Poruke umetnute u bazu podataka

More information