Есть скрипт для cmd который создает дампы MySQL в папку MYSQL_Dumps:
@echo off
echo Starting Backup of Mysql Database on server
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set dt=%%c-%%a-%%b)
For /f "tokens=1-4 delims=:." %%a in ('echo %time%') do (set tm=%%a%%b%%c)
mkdir C:\MYSQL_Dumps
forfiles /p C:\MYSQL_Dumps\ /s /m *.* /d -0 /c "cmd /c del @file"
echo ===============================================================
set bkupfilename=<database_name>_%dt%.%tm%.sql
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe" --routines -u <username> -<password> -h <host> --port=<port> <database_name> > C:\MYSQL_Dumps\"%bkupfilename%"
echo ===============================================================
echo Backup Complete!
Также есть скрипт для PS который копирует файлы из папки на FTP:
#we specify the directory where all files that we want to upload
$Dir="C:/MYSQL_Dumps"
#ftp server
$ftp = "ftp://<FTPhost>/MySQL_Dumps/"
$user = "<FTPuser>"
$pass = "<FTPpass>"
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)
#list every sql server trace file
foreach($item in (dir $Dir "*")){
"Uploading $item..."
$uri = New-Object System.Uri($ftp+$item.Name)
$webclient.UploadFile($uri, $item.FullName)
}
Помогите написать единый скрипт для Power Shell который будет:
1 - Создавать папку С:\MySQL_Dumps
2 - Создавать дампы MySQL указанных баз данных в С:\MySQL_Dumps
3 - Архивировать в один файл папку С:\MySQL_Dumps
4 - Отправлять этот архив на FTP папку /MySQL_Dumps
5 - Чистить за собой мусор