Minio ν΅ν΄ SQLSERVER 2μ°¨ λ°±μ ꡬμ±
Minio μλ²λ 2μ°¨ λ°±μ μ© μλ² λ³λλ‘ κ΅¬μΆ νμ μΌ ν©λλ€.
μλμ URL 보μλ©΄ μ½κ² κ΅¬μΆ κ°λ₯ν©λλ€.
https://docs.minio.io/docs/minio-quickstart-guide
νκ²½
windows , Powershell , minio ,mc
minio μ€μΉ λ° κ°μ΄λ
https://docs.minio.io/docs/minio-quickstart-guide
Minio Client μ€μΉ λ° κ°μ΄λ
https://github.com/minio/mc
μλμ 2κ° νμΌ μμ± ν
νμμ
μμ νΈμΆ νλ©΄ λ©λλ€.
νΈμΆ μμ
Powershell.exe -noprofile -executionpolicy bypass -file "E:\Backup\BackupUpload.ps1" "E:\Backup\BackupUpload.ini"
ini (BackupUpload.ini) νμΌ μ€μ μ ν΅ν΄ 2μ°¨ λ°±μ λ° νμΌ μμ
BackupUpload.ini
/*
[File] --λ°±μ
νμΌ μ ν λ° μμ (S3,Minio)
S3DelDay -- S3 μμ μ£ΌκΈ° (μΌμλ§νΌ 보κ΄)
GetTime -- λ‘컬백μ
μκ° 2 νμ¬μκ° κΈ°μ€μΌλ‘ 2μκ° μ μ΄ν λ°±μ
리μ€νΈ
[Backup] λ°±μ
κ²½λ‘
S3buckkeyDir S3,Minio κ²½λ‘ (2μ°¨ λ°±μ
λ³΄κ΄ κ²½λ‘)
[S3] S3,Minio κ²½λ‘
*/
[File]
S3DelDay=2
GetTime= 2
[Backup]
SystemBackupDir= E:\backup\System
DBBackupDir= E:\backup\FULL
TRNBackupDir= E:\Backup\TRN
S3buckkeyDir= minio/dbbackup/maindb
[S3]
IP = 10.10.10.100
Port= 9000
Key = xxxxx
SECRET = xxxxxxx
λ°±μ
μ€ν¬λ¦½νΈ
BackupUpload.ps1
<#
μ€ν
--------------------------------------------------------------------------------------------------------------------------------------------------------
-- Powershell.exe -noprofile -executionpolicy bypass -file "E:\Backup\BackupUpload.ps1" "E:\Backup\BackupUpload.ini"
--------------------------------------------------------------------------------------------------------------------------------------------------------
$inifile = "E:\Backup\minioBakup.ini"
param (
[String]$inifile )
#>
$inifile = "E:\Backup\BackupUpload.ini"
$S3DelDay ="";$GetDay=""
$SystemBackupDir="";$DBBackupDir=";$TRNBackupDir=";$MiniobuckkeyDir=""
$IP ="";$Port="";$Key ="";$SECRET =""
$ini = @{}
switch -regex -file $inifile
{
"^\[(.+)\]" # Section
{
$section = $matches[1]
$ini[$section] = @{}
$CommentCount = 0
}
"^(;.*)$" # Comment
{
$value = $matches[1]
$CommentCount = $CommentCount + 1
$name = "Comment" + $CommentCount
$ini[$section][$name] = $value
}
"(.+?)\s*=(.*)" # Key
{
$name,$value = $matches[1..2]
$ini[$section][$name] = $value
}
}
$S3DelDay= $($ini["File"]["S3DelDay"]) -replace " ",""
$GetTime = $($ini["File"]["GetTime"]) -replace " ",""
$SystemBackupDir= $($ini["Backup"]["SystemBackupDir"]) -replace " ",""
$DBBackupDir= $($ini["Backup"]["DBBackupDir"]) -replace " ",""
$TRNBackupDir= $($ini["Backup"]["TRNBackupDir"]) -replace " ",""
$S3buckkeyDir= $($ini["Backup"]["S3buckkeyDir"]) -replace " ",""
$IP = $($ini["S3"]["IP"]) -replace " ",""
$Port= $($ini["S3"]["Port"]) -replace " ",""
$Key = $($ini["S3"]["Key"]) -replace " ",""
$SECRET = $($ini["S3"]["SECRET"]) -replace " ",""
$S3DelDay ;$GetTime
$SystemBackupDir;$DBBackupDir;$TRNBackupDir;$MiniobuckkeyDir
$IP ;$Port;$Key ;$SECRET
$GetDate = (Get-Date).AddHours(-$GetTime)
mc config host add minio "http://$($IP):$($Port)" $($Key) $($SECRET) S3v4
$Minio =@{}
# System Backup
$Minio= @(get-childitem -path $SystemBackupDir -Recurse | Where-Object { [DateTime]$_.LastWriteTime -ge ($GetDate ) -and ( $_.Name -like "*.bak") } | select-Object -property fullname ,name )
for ($i=0; $i -le $Minio.length-1 ; $i++) {
# $Minio[$i].fullname
mc cp $Minio[$i].fullname "$($S3buckkeyDir)/SYSTEM/"
}
#Full Backup
$Minio= @(get-childitem -path $DBBackupDir -Recurse | Where-Object { [DateTime]$_.LastWriteTime -ge ($GetDate ) -and ( $_.Name -like "*.bak") } | select-Object -property fullname ,name )
for ($i=0 ; $i -le $Minio.length-1 ; $i++) {
$Minio[$i].fullname
mc cp $Minio[$i].fullname "$($S3buckkeyDir)/FULL/"
}
#Trn Bakcup
$Minio=@(get-childitem -path $TRNBackupDir -Recurse | Where-Object { [DateTime]$_.LastWriteTime -ge ($GetDate ) -and ( $_.Name -like "*.trn") } | select-Object -property fullname ,name )
for ($i=0 ; $i -le $Minio.length-1 ; $i++) {
mc cp $Minio[$i].fullname "$($S3buckkeyDir)/TRN/"
}
<#
νμΌλͺ
μ μμ νλ λ‘μ§ νμν λ μ΄μ
$MinioDel= @{}
$MinioDel = $(mc ls $MinioPath\SYSTEM).split(' ') | where-object {$_ -like '*2018_03_15*'}
for ($i=0; $i -lt $MinioDel.Length ; $i++) {
"$($MinioPath)/TRN/$($MinioDel[0])"
mc rm "$($MinioPath)/TRN/$($MinioDel[0])"
}
#>
mc rm --recursive --force --older-than=$S3DelDay $S3buckkeyDir
mc ls $S3buckkeyDir\SYSTEM
mc ls $S3buckkeyDir\FULL
mc ls $S3buckkeyDir\TRN