PHPからバックアップコマンドを実行することはできますが、実際にはPHPとは何の関係もありません。すべてはMySQLに関するものです。
mysqldumpユーティリティを使用してデータベースをバックアップすることをお勧めします。ドキュメントはここにあります: http://dev.mysql。 com / doc / refman / 5.1 / en / mysqldump.html 。
mysqldumpの基本的な使用法は
です。mysqldump -u user_name -p name-of-database >file_to_write_to.sql
その後、
のようなコマンドでバックアップを復元できます。mysql -u user_name -p <file_to_read_from.sql
cronにアクセスできますか? mysqldumpをcronジョブとして実行するPHPスクリプトを作成することをお勧めします。それは次のようなものになります
<?php
$filename='database_backup_'.date('G_a_m_d_y').'.sql';
$result=exec('mysqldump database_name --password=your_pass --user=root --single-transaction >/var/backups/'.$filename,$output);
if(empty($output)){/* no output is good */}
else {/* we have something to log the output here*/}
mysqldumpが利用できない場合、この記事ではSELECT INTO OUTFILE
を使用した別の方法について説明しています。 およびLOAD DATA INFILE
コマンド。 PHPへの唯一の接続は、PHPを使用してデータベースに接続し、SQLコマンドを実行していることです。これは、コマンドラインのMySQLプログラムであるMySQLモニターからも実行できます。
非常に簡単です。1つのコマンドでSQLファイルを作成し、復元するときにロード/実行します。
selectのドキュメントはoutfile