すでにこの男を行って 、私は私の地元へのローカルアプリケーションを構築してきましたされてやりましたそのアプリケーションは、ローカルバイオメトリックデータベースからオンラインWebサーバーに更新されたデータベースをアップロードするFTPサービスを行っています。
この作業がすべて完了したら、Cronジョブを使用して.SQLファイルをロードするPHPスクリプトを作成しました。あなたはすべて、cronの仕事は、スクリプトを制御し、他のlinuxコマンドを実行するために予定された時間のイベントであることを知っています。
私のPHPコードを共有しますので、これに遭遇した人は誰でもこれを将来使用することができます。
date_default_timezone_set('Asia/Taipei');
$CurTime = date('Y-m-d H:i:s');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link){
die('Failed to connect to server: ' . mysqli_error());
}
//Select database
$db = mysqli_select_db($link,DB_DATABASE);
if(!$db){
//Do auto download of database in the Server automatically
if(file_exists('Database/'.DB_DATABASE.'.sql')){
mysqli_query($link,"CREATE DATABASE ".DB_DATABASE);
$db = mysqli_select_db($link,DB_DATABASE);
$readContent = file_get_contents("Database/".DB_DATABASE.".sql");
$res = mysqli_multi_query($link,$readContent) or die(mysqli_error($link));
mysqli_close($link);
} else {
die("Unable to select database, Please call your system administrator. Thank you.");
}
}
function Reload_Database($DBLink){
if(file_exists($DBLink)){
//mysqli_query($link,"DROP DATABASE ".DB_DATABASE);
//mysqli_query($link,"CREATE DATABASE ".DB_DATABASE);
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
$db = mysqli_select_db($link,DB_DATABASE);
$readContent = file_get_contents($DBLink);
$res = mysqli_multi_query($link,$readContent) or die(mysqli_error($link));
mysqli_close($link);
return 'Database Reloaded';
} else {
die("Unable to reload database, Please call your system administrator. Thank you.");
}
}
echo Reload_Database('../employee/database/'.DB_DATABASE.'.sql');
これは、ローカルアプリケーションから与えられたアップロードされたデータベースのデータベースをリロードする基本的なスクリプトです。
ここから、cronジョブがその役割を果たします。私のローカルアプリケーションがローカルバイオメトリックデータベースの更新されたデータベースのアップロードだけを行うサービスであることを期待してください。
Mysqlイベントはユーザーの介入なしではありませんか?それはCronjobの一種として機能します –
あなたはサーバー上で 'mysqldump'にアクセスできますか? – mulquin
しかし質問から、データベースの場所は私には完全に明確ではありません。あなたのオフィスのどこかにアクセスできますか? MySQLデータベースとPHPがそうです。ターゲットはインターネット上のどこかのデータベースです。 –