Генерация резервной копии базы данных MySQL в одну строку кода


Создание резервных копий баз данных очень важная задача, которую нужно время от времени выполнять. Для решения данной задачи можете воспользоваться командой exec(). Выбирая между shell_exec() и exec(), советуем выбрать второе. В результате нам не будет выведен весь SQL код. Данные просто запишутся в файл. Данная команду будет: выполнять команду mysqldump с набором нужных параметров, записывать данные в файл. Пример:

mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql

PHP код будет выглядеть так:

exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');

Вместо знака ... необходимо подставить имя пользователя базы данных, пароль и хост.

Помимо этого, выполнение данного файла можно подсадить на крон, поэтому имя файла можно генерировать автоматически, используя функцию даты и времени.

exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/' . date('Y-m-d') . '.sql');