私が思いついた解決策は、WordPressや電子商取引サイトに固有のものではありません。 MySQLデータベースを持ち、PHPを実行できる人なら誰でもこの恩恵を受けることができます。おそらく、私の答えにいくつかの微調整を加えても、最終結果を達成できるはずです。
電子商取引データベースのバックアップを保存するために、私は自分のサイトのルートディレクトリに/ tempというフォルダを作成しました。その後、実際にデータベースのバックアップを作成する必要がありました。テキストエディタを開き、backup_dropbox.phpというファイルを作成します。
<?php
// location of your /temp directory relative to this file. In my case this file is in the same directory.
$tempDir = "";
// username for e-commerce MySQL DB
$user = "ecom_user";
// password for e-commerce MySQL DB
$password = "ecomDBpa$$word";
// e-commerce DB name to backup
$dbName = "ecom_db_name";
// e-commerce DB hostname
$dbHost = "localhost";
// e-commerce backup file prefix
$dbPrefix = "db_ecom";
// create backup sql file
$sqlFile = $tempDir.$dbPrefix.".sql";
$createBackup = "mysqldump -h ".$dbHost." -u ".$user." --password='".$password."' ".$dbName." > ".$sqlFile;
exec($createBackup);
//to backup multiple databases, copy all of the above code for each DB, rename the variables to something unique, and set their values to whatever is appropriate for the different databases.
?>
backup_dropbox.phpは今、このスクリプトは、それが実行されるたびにデータベース "ecom_db_name" のバックアップを作成する必要があります。スケジュールされた間隔で実行するには(WordPressのバックアップが午前7時に開始される前に数分間実行したい) WP-Cron(サイトが適切なタイミングで確実に実行されるようにトラフィックが十分にある場合)またはcronジョブをスケジュールすることができます。
私はcronジョブとこれらのタイプのコマンドについては熟練していないので、より良い方法があるかもしれません。私はこれを2つの異なるサイトで使用し、2つの異なる方法で実行しています。あなたのために最適なもので遊んでください。
最初の方法はパスワードで保護されていないディレクトリで、2番目の方法はです。 (ユーザ名とパスワードをあなたのユーザ名とパスワードに置き換え、明らかにexample.com/temp/backup_dropbox.phpをあなたのサーバ上にあるファイルに置き換えてください)。
backup_dropboxを実行するジョブ。今、cronジョブがbackup_dropbox.phpを実行して、6:55に毎日私のデータベースのバックアップを作成するように設定されているWPのバックアップ前に、PHP 5分
55 6 * * * php /home/webhostusername/public_html/temp/backup_dropbox.php
OR
55 6 * * * wget -q -O /dev/null http://username:[email protected]/temp/backup_dropbox.php
。午前7時から始まるDropboxへのWordPressのバックアップには通常5〜6分かかりますが、少し時間がかかります。
.SqlバックアップファイルをDropboxにバックアップした後に削除したいので、誰かが何らかの理由でデータベースファイルを開いたりダウンロードしたりすることなく永久にそこに座っていません。
もう一度テキストエディタを起動し、clr_bkup.phpという別のファイルを作成します。
WordPressのバックアップは、最後の仕上げには数分かかりますので、私は十分にそれを与えるべきである、10過去7でclr_bkup.phpを実行するcronジョブを実行したいclr_bkup.php
<?
$tmpDir = "";
//delete the database backup file
unlink($tmpDir.'db_ecom.sql');
// if you had multiple DB backup files to remove just copy the line above for each backup, and replace 'db_ecom.sql' with your DB backup file name
?>
時間。再度、最初のcronジョブは保護されていないディレクトリ用であり、2番目の作業はパスワードで保護されたディレクトリです。 WPのバックアップは何の周りにあなたの頭をラップ支援するためのイベント
の
10 7 * * * php /home/webhostusername/public_html/temp/clr_bkup.php
OR
10 7 * * * wget -q -O /dev/null http://username:[email protected]/temp/clr_bkup.php
シーケンスを開始した後clr_bkup.php 10分を実行するための
cronジョブここでタイムラインがあります:
6:55 am:Cron Jobは、データベースのバックアップファイルを作成するbackup_dropbox.phpを実行するようにスケジュールされています。
7:00 am:WordPress Backup to Dropboxが実行され、5分前に新しく作成されたデータベースバックアップを含む最後のバックアップ以降に変更されたすべてのファイルがバックアップされます。
7:10 am:Dropboxのバックアップが完了したので、Cron Jobはclr_bkup.phpを実行するようにスケジュールされています。これにより、バックアップファイルがサーバーから削除されます。
変数、メモ、およびその他。情報
タイミング
右のタイミングを得ていた私を切った最初の事。簡単にするために、上の例では、同じタイムゾーンですべてが起こっているかのように時間を使いました。実際には、私のウェブホストのサーバーは米国西海岸にあり、私のワードプレスのタイムゾーンは米国東海岸(3時間の差)に設定されています。私の実際のcronジョブは、上記のものより3時間早く(サーバー時間)実行するように設定されています。これは誰にとっても異なるでしょう。最善の賭けは、前の時間差を知ることです。パスワードで保護されていないディレクトリ内の時間チェックイン
と
ランバックアップ、私が訪問して(6:55より一日の他の時間で実行されているからbackup_dropbox.phpスクリプトを維持したいですたとえば、ブラウザでは午前10時に)。 backup_dropbox.phpファイルの先頭に時間チェックを入れました。これは、基本的には6時55分でないかどうかをチェックし、残りのコードを実行させません。私はあなただけそれが7:10にバックアップファイルを削除してみましょうにclr_bkup.phpファイルにこれを追加することができると仮定し、私は本当に以来、必要性を見ていない
<?php
$now = time();
$hm = date('h:i', $now);
if ($hm != '06:55') {
echo "error message";
} else {
// DB BACKUP code from above goes here
}
?>
:私はにbackup_dropbox.phpを修正しましたclr_bkup.phpが何かを行う唯一の時間は、何とか6:55-7:10amです。あなたがそのルートに行くことを決めるならば、あなた次第です。
WordPressにはありませんか?
は意志バックアップあなたのウェブサイトのいずれかなどのDropboxやGoogle Driveのような他の同様のサービス、Amazon S3、Boxに、または一部が有料で自分のサーバーにファイルを保存します無料と有料のサービスがいくつかあります。
Backup Machine、Codeguard、Dropmysite、Backup Box、またはMoverは、いくつかの名前を付けます。
冗長オフサイトバックアップが必要ですか?
上記のいずれかのクラウドストレージサイトにリモート冗長バックアップを自動的に作成できるサービスがたくさんあります。
たとえば、サイトをDropboxにバックアップする場合、If This Then That (IFTTT)というサービスを使用して、特定のDropbox folder to Google Driveにアップロードされたファイルを自動的に追加できます。こうすることで、Dropboxにはサーバーに問題が発生した場合でも、Googleドライブのバックアップが作成されます。上にリストされたバックアップボックスはまた、このようなことをする可能性があります。
希望これは、このすべてを行うための良い方法があるかもしれません
に役立ちます。私はピンチで、確実に動作するものを見つけ出す必要がありました。改善があれば、コメントを共有してください。
良いチュートリアル:) –