Powershell : faire un backup de fichiers et de mysql sur amazon s3

Je cherchais à faire un script similaire de sauvegarde pour la suite de charmants, celui que nous utilisons depuis un peu plus d’un an nous donne satisfaction mais il faut l’adapter à la nouvelle plateforme. J’ai commencé à manipuler PowerShell pour la compilation du site avec PSake donc je voulais réutiliser le peu de connaissances acquises.

Les objectifs : sauvegarder les fichiers et la base de données MySql et compresser le tout avant de l’uploader vers Amazon S3.

Voici le script Powershell :

& mysqlcheck -c -a –auto-repair -o -e -A -v -u root -password -W & mysqldump -u root -ppassword -W –all-databases > C:\site\mysql_backup.sql $date = (get-date).ToString(‘dd_MM_yyyy_HHMMss’) & ./Build/tools/7za.exe a -ssw C:\Backup$date.7z C:\site\
Add-PSSnapin CloudBerryLab.Explorer.PSSnapIn $s3 = Get-CloudS3Connection -Key YourKey-Secret YourSecret $destination = $s3 | Select-CloudFolder -path “DossierS3” $src = Get-CloudFilesystemConnection | Select-CloudFolder “C:\” $src | Copy-CloudItem $destination –filter “Backup$date.7z” $report = Get-Content c:\backuplog.txt $smtp = new-object System.Net.Mail.SmtpClient $smtp.Host = ‘smtp.gmail.com’ $smtp.Port = 587 $smtp.EnableSsl = $true $smtp.Credentials = new-object System.Net.NetworkCredential(‘email’, ‘password’) $smtp.Send(‘gmail’,‘email’,‘backup’$date, $report)

Quelques remarques :

copy /y nul C:\backuplog.txt cd C:\site\Scripts %SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe C:\site\Scripts\Maintenance.ps1

billet publié dans les rubriques coding le