0

わかりました、私はこの投稿を読みました:

cron ジョブを使用して 30 分ごとにデータベース (mysql) を復元する必要があります

そして答えは:

mysql -u ユーザー -ppassword データベース名 < /path/to/dump.sql

私の質問は、データベースに既にあるデータを消去しますか? 保存されている MySQL ファイルから上書きする必要があります。

また、cron コマンドを使用して、1 つのディレクトリ内のすべてのファイルを復元ディレクトリで上書きする必要があります。

これは joomla のインストール用です... joomla の 2 つの異なるコンポーネントを試して、30 分ごとに更新されるデモ サイトをセットアップしましたが、どちらも機能しませんでした。

cron コマンドでディレクトリを完全に復元するソリューションを持っている人はいますか?

4

2 に答える 2

0

cron ジョブを使用して.sqlファイルを実行すると、必要なことができます。すべてのデータを置き換えるには、実行中のファイルに table drop および creation ステートメントを追加する必要があります。これにより、データベース内の唯一のデータにしたい特定のデータが強制されます。

于 2013-03-01T00:30:48.640 に答える
0

最も簡単な方法は、ダンプ/インポートをスキップしてディレクトリを交換することです。mysql データ ディレクトリ全体を実行する限り、すべてが機能します。マスター/スレーブ設定がある場合を除きます。mysql をシャットダウンし、mysql データ ディレクトリのコピーを作成します。それが今後の復元元になります。次に、cron をセットアップして、次のことを行います。

  1. mysql バックアップ ディレクトリのコピーを作成します。

    cp -R mysql.bak mysql.restore

  2. mysql を停止する

  3. 現在の mysql データ ディレクトリを復元ディレクトリと交換します。

    mv mysql mysql.rm mv mysql.restore mysql

  4. mysqlを起動

  5. スワップしたばかりの mysql ディレクトリを消去します

    rm mysql.rm

InnoDB テーブルのサイズによっては、Mysql がダウンして数秒間使用できなくなるだけです。

于 2013-03-01T03:02:07.730 に答える