PowerShellを使用して、Windows 2012サーバーで実行されているMySQLをバックアップするためのスクリプトを作成しています。ここにある他のヒントとは異なり、それぞれのデータベースに.sql
ファイルを生成する必要があります。複数のファイルへのMySQLバックアップ用スクリプト
This postは、複数のファイルを作成する方法を示しています。私はそれをPowerShellに適合させました:
Get-ChildItem -Path "$($MYSQL_HOME)\data" | cmd /C "$($MYSQL_HOME)\bin\ mysql -u -s -r $($dbuser) -p$($dbpass) -e 'databases show' '| while read dbname; cmd /C "$($MYSQL_HOME)\bin\mysqldump.exe --user = $($dbuser) --password = $($dbpass) --databases $dbname> $($BKP_FOLDER)\$dbname($BACKUPDATE).sql "
while
にエラーを返します。
.sql
をデータベースごとに1つずつ生成できるように変更する必要はありますか?
bash/zshスクリプトからmysql部分をコピーしましたか? '| read dbname; 'はWindowsの' cmd.exe'で有効な構文ではありません –
はい、上記のリンクにコピーしました。私が 'while'([こちらを参照](http://ss64.com/ps/while.html))の使用に関する参照を見つけたので、それはうまくいくと思いました。 –