Skip to main content

[PowerShell]: Powershell script uploading backup databases to ftp server

Author: Enrique Puig Nouselles
http://gallery.technet.microsoft.com/scriptcenter/80647f66-139c-40a4-bb7a-04a2d73d423c


Nhu cầu
- Học sử dụng Powershell và áp dụng vào thực tế
- Server chạy MS SQL được backup mỗi ngày và lưu các file backup ở folder mặc định "C:/Program Files/Microsoft SQL Server/MSSQL11.MSSQLSERVER/MSSQL/Backup"
- Upload các file database backup về một ftp server khác để lưu "offsite"

# Begin script
# Thanks to: Enrique Puig Nouselles http://gallery.technet.microsoft.com/scriptcenter/80647f66-139c-40a4-bb7a-04a2d73d423c
# Khai báo folder chứa các file backup database, dưới đây là folder backup mặc định của MS SQL 2012
$Dir="C:/Program Files/Microsoft SQL Server/MSSQL11.MSSQLSERVER/MSSQL/Backup"  

# ftp server
$ftp = "ftp://IPAddres/subfolder/subsubfolder"
$user = "usernamehere"
$pass = "passwordhere"
# DO NOT use $(Get-Date), use $d variable instead, otherwise SQL Agent gets error "The job step contains tokens...."
$d = Get-Date

$webclient = New-Object System.Net.WebClient

$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)

# Get files created in the past 24 hours
#list every sql server trace file
foreach($item in (dir $Dir "*.bak")){
if ($item.CreationTime -gt ($d.AddDays(-1)))
{
    "Uploading $item..."
    $uri = New-Object System.Uri($ftp+$item.Name)
    $webclient.UploadFile($uri, $item.FullName)
} }
#End

Popular posts from this blog

Linux command: tail

tail - output the last part of files

Linux command: printenv

printenv - print all or part of environment NAME        printenv - print all or part of environment SYNOPSIS        printenv [OPTION]... [VARIABLE]... DESCRIPTION        Print  the  values  of the specified environment VARIABLE(s).  If no VARIABLE is speci‐        fied, print name and value pairs for them all.        -0, --null               end each output line with NUL, not newline        --help display this help and exit        --version               output version information and exit        NOTE: your shell may have its own version of printenv,  which  usually  supersedes  the        version  described  here.  Please refer to your shell's documentation for d...

Windows 10: Install SuSE Linux Enterprise - SLES

With Microsoft-Windows-Subsystem-Linux feature enabled, we can install Linux distributions on Windows 10.