Резервное копирование и восстановление базы данных MySQL в PHP

Я пытаюсь использовать PHP для резервного копирования и восстановления базы данных MySQL:

Резервное копирование:

$dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'dbpass'; $dbname = 'test'; $output = "D:/backup/test.sql"; exec("D:/xampp/mysql/bin/mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname > $output"); echo "Backup complete!"; 

Восстановить:

 $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'dbpass'; $dbname = 'test'; $output = "D:/restore/test.sql"; exec("D:/xampp/mysql/bin/mysql --opt -h $dbhost -u $dbuser -p $dbpass $dbname < $output"); echo "Restore complete!"; 

Но оба они не работают. Когда Backup завершен, я проверяю файл test.sql который пуст. Когда восстановление будет завершено, база данных останется пустой.

Как я могу это исправить?

Сценарий резервного копирования с использованием Php

 <?php define("BACKUP_PATH", "/home/abdul/"); $server_name = "localhost"; $username = "root"; $password = "root"; $database_name = "world_copy"; $date_string = date("Ymd"); $cmd = "mysqldump --routines -h {$server_name} -u {$username} -p{$password} {$database_name} > " . BACKUP_PATH . "{$date_string}_{$database_name}.sql"; exec($cmd); ?> 

Сценарий для восстановления

 <?php $restore_file = "/home/abdul/20140306_world_copy.sql"; $server_name = "localhost"; $username = "root"; $password = "root"; $database_name = "test_world_copy"; $cmd = "mysql -h {$server_name} -u {$username} -p{$password} {$database_name} < $restore_file"; exec($cmd); ?>