ただ単にmysqldumpを実行するのではなくて、以下の特徴を加味したバックアップを自動的に実行しましょう! 無駄なバックアップを継続させない努力を行います。



外部URLを参照するアイ・キャッチ動画(英語版WordPress: featured image)参照元を見る。利用に感謝! 今回はフリッカーの動画ダイレクト・リンクを利用しており、リンク切れなどをテスト中です。
1拠点のみです。
  • //motpresse.fs4y.com/mysqldump/#bg-video

環境の想定

2台のコアサーバー_で自動稼動中です。

2019/12/05
  • GNU bash_ : 4.2.46
  • MySQL_ : 5.7.27
  • mysqldump_ : 10.13 Distrib 5.7.27, for Linux (x86_64)
  • phpMyAdmin_ : 4.8.0
  • Domain Web PHP_ :
    • motpresse.fs4y.com : 7.3.xx
    • wordpress.fs4y.com : 7.3.xx
    • ujikioo000webhostcom.000webhostapp.com : 7.2.xx
  • Apache_ : 2.4
    • PHP : 5.6.40

公開サーバーでは、様々な不特定多数のユーザーが利用し、大半がMySQL_を利用したCMS_をインストールしていて、常時、数え切れない多くのサーバーサイドプロセスが稼動し続けていますので、タイムアウト・エラーは必ず起こります! WordPress_のバックアップ・プラグインで、タイムアウトが発生すると、データーは不完全となります! 不完全なデーターからは完全な復旧は不可能です! (公開サーバーで決められているタイムアウト時間を延長させるオーバーライド設定の強行は、公共性に違反し、他のユーザーに対しての迷惑行為そのものです! みんなが競ってタイムアウト時間を延長させるオーバーライド設定を行うと、そのサーバーはレスポンスの遅い通信に悪化し、結局は天に唾する行為でしかありません。 WordPressのプラグインがそれを行うなら、迷惑なアプリそのものです) この記事で紹介中のbashスクリプトは、逆にサーバーのOSに対して、あらゆるプロセスの優先度を最低にセットしながら稼動します! あなたの目の前でクリックしてレスポンスを求めるプラグインと違い、あなたが気にしないところで、日本時間の深夜に、毎日、無人自動バックアップ継続中です。 速さを求めないbashスクリプトとレスポンスを求められるプラグイン、特徴が対極ですが、相互にトラブルを補完する目的で、日本時間の深夜に、毎日、無人自動バックアップ継続中です。 Domain Name System_(以後DNSと称す)の設定で、現在は接続していない同格サーバーのWordPressのMySQLに、phpMyAdminを利用したインポートも実行成功し続けています。 DNSの変更だけで、好きなタイミングでスイッチ可能なメインのWordPressです。


仕様:

  1. WordPressプラグイン Under Construction_ の、自動起動は行っていません。
    個別対応となります。
  2. WordPressで複数ユーザーによるログインの許可を想定していません。
    既存のすべての cookie を強制的に無効化すれば良いのでしょう? 個別対応となります。
  3. cronで直接起動可能です。
    推奨設定: bash ~/mysqldump.sh
  4. 次の警告は出ないので盗まれる可能性はより低く安全です!
    機械翻訳しますか?
    mysqldump: [Warning] Using a password on the command line interface can be insecure.
    mysqldump: [Warning] Using a password on the command line interface can be insecure.
  5. 1回/1日を想定しています。
    手動で何度も実行しても構いませんが、上書きされます。 一度消された過去のファイルは復旧しません!
  6. MD5値が同じデーターは一日前のデーターを残しません。
    同じSQLデーター_が残り続ける無駄はありません!手動での起動も、cron自動も日付レベルで昨日のデーターを検査し、特殊MD5値が同じなら昨日のデーターは削除されます。
  7. mysqldumpもバージョンアップをメールでお知らせ!
    サーバー管理者が行った改訂を知り得ます。トラブルの色分けが明確になります。 何らかの原因でバージョンダウンされた場合もメールでお知らせ!
  8. 解凍することなくphpMyAdminのインポートで直接指定できます!

例えば同格サーバーのコアサーバー_で、コアサーバー_のMySQLなら、 phpMyAdminを利用して、簡単にインポート可能ですから、サーバーのトラブルで例えばWordPressが閲覧不能に陥っても、DNSの変更だけで、迅速即時WordPressが復活します!


免責

WordPressのプラグインには、優秀なバックアップ機能と復元機能をサポートしています。 是非、WordPressのプラグインと同時に利用願います。
【重要】 本記事の公開ソースで被った被害の一切の責任は負いません。 セキュリティー上の問題がありますので、 Version: 4.0 以降の利用をお願い致します!


特徴

  1. mysqldump: [Warning] Using a password on the command line interface can be insecure.
    Version: 4.0 より、警告メッセージが出ない様に改訂しました。 短時間にせよ、同じサーバーの他のユーザーに漏洩する可能性がゼロでは無いと認識しました。 Version: 4.0 以降の利用をお願い致します!
  2. phpMyAdminで、直接インポートできる圧縮済みのファイルを生成します。
    Version: 3.3 より、拡張子「 .sql.zip となる圧縮済みのファイルを生成します。 解凍してもよし、そのままインポートできる圧縮済みのファイルです。 時短と、遅い通信環境でのタイムアウト・エラーを少しでも抑止します。
  3. パラメーター・ファイル(SQLと接続する為のパラメーターを定義するファイル)を、分離しました。
    Version: 3.0 より、異なるサーバー間で違うのは、個別に調整するパラメーター・ファイルだけとなり、メインのbashスクリプトは共用となります。 公開中のメイン・スクリプトをバージョンアップしても直ぐに利用を継続できます。(但し一行だけコメント化する場所はあります。 詳しくは後述の解説をご覧ください。)
  4. 複数のデーターベースを無人自動で一括処理します。
    処理できる数に制約はありません!
  5. サーバーには圧縮済みのファイルが残ります。
    zip -9
  6. サーバーに残るSQL圧縮ファイルのパーミッションはオーナー専用となります!
    chmod 600 / rw-------
  7. サーバーの負担を軽減させる!
    nice で全てのコマンドの優先度を下げています。 タイムアウト対策です。
  8. cron で直接実行できる。
    必ず明示的に bash ~/mysqldump.sh と指定して下さい!
  9. mysqldump を利用する。
  10. mysqldump バージョンアップ履歴を記録する。
    サーバー管理者がバージョンアップした年月日を知ることが可能! お知らせを兼ねて、 mysqldump --help がメールで送られて来ます! バージョンやコマンドパラメーターを知ることが可能。 新たなトラブルが起きた場合に因果関係の色分けになります。
  11. MD5検査を行って類似性を検査しますが、MD5検査専用のデーターでは、以下の処理を行います。
    1. AUTO_INCREMENT= 構文を削除する。
    2. Dump completed on 行を削除する。
  12. 特定のテーブルだけの特別なバックアップをサポート!
    例では、テーブル: wp_options だけのバックアップを可能にする。
    1. --no-data --routines --events
      データー無しのテーブル定義データーのみを別に保存する。
      mysql_xxx_20250406_2.sql.zip
    2. --replace --no-create-info
      データーのみを別に保存し、任意の短い行で積極的に保存を区分する。(REPLACE)
      mysql_xxx_20250406_3.sql.zip
    3. それぞれのMD5ファイルを自動的に作成する。
    4. MD5が同じなら、過去のファイルを自動的に削除する。
    5. zip -9 -D -jファイル圧縮化する。
    6. 圧縮化されたファイルも、圧縮ファイルの中のファイルも、タイムスタンプの時刻は同じです。
  13. 特定のテーブル以外のバックアップは全体をバックアップ可能!
    例では、テーブル: wp_options 以外のバックアップを可能にする。(INSERT)
    mysql_xxx_20250406.sql.zip
    1. MD5ファイルを自動的に作成する。
    2. MD5が同じなら、過去のファイルを自動的に削除する。
    3. zip -9 -D -jファイル圧縮化する。
    4. 圧縮化されたファイルも、圧縮ファイルの中のファイルも、タイムスタンプの時刻は同じです。

ソースの入手

ハッカー:Ujiki.oOへの寄付_

最新bashスクリプトは、GitLabで公開しています。 mysqldump.sh · master · Ujiki .oO / mysqldump · GitLab_


調整手順

以下手順は Version: 3.0 用です。
  1. レンタルサーバー(わたしの場合は:コアサーバー_です)のホームディレクトリーに、bashスクリプトを配置したと仮定して解説します。
    他のユーザーに盗用されない様に注意して、ファイルのパーミッションを与えます。 ブログ記事で紹介したファイル名と全く異なるファイル名が良いかも知れません。
  2. ホームディレクトリーに、フォルダー(以後ディレクトリーと称す)MYSQLBACKUPS 」を作成する。
    public_html とは、全く違う場所です!
  3. 右の画像例は、MS-Windowsで動作する、sftp_ファイル転送ソフト「WinSCP_」で起動する「リモート・コンソール」ですが、サーバー側で「 bash ~/mysqldump.sh 」を実行します。
    初回は、何も表示せず、短時間に終了します。
  4. ディレクトリー「 MYSQLBACKUPS 」に、パラメーター・ファイルが自動的に作成されます。
    作成されるパラメーター・ファイル名: mysqldump.tbl
  5. パラメーター・ファイルを編集します!
    1. 他のユーザーに盗まれない様に、パーミッションで保護します!
      パラメーターファイルを暗号化し、呼び出す時に複合化するなど、安全に配慮願います!
    2. パラメーター「 DBNAMES= 」に、処理したいデーターベース名を登録します!
      複数登録する場合はスペース文字で区切ります。
      サンプルの軽いデーターベースを別途作成し、これを最後に定義しましょう! 【重要】あなたのデーターベースが大容量で、タイムアウトしていないかを確認して下さい!

      サンプルの軽いデーターベースが完璧にセーブされているからと安心しないでください! あくまでも、この記事で紹介しましたbashスクリプトが最後まで処理を行った事だけを意味するのであって、あなたの重厚長大なデーターベースが完全に保存されたことを保証しません! 複数のデーターベースの中で、特に重厚長大なデーターベースの処理でタイムアウトが起きているかも知れません!

      Ujiki.oOの場合、WordPress全てのデーターベースにzzz_endofdataテーブルを手動で作成しています。
      名前 データ型:
      d date
      t time
      です。
      データーを削除しては、挿入でCURRENT_DATECURRENT_TIMEを登録し、このテーブルzzz_endofdataテーブルの転送状態を確認して、タイムアウトエラーの有無を確認しています。 難しい定義になりますが、3種類のバックアップ・ファイルのそれぞれにzzz_endofdataテーブルを含めています。 3種類のバックアップ・ファイルの末尾にzzz_endofdataテーブルが出力されるようにしましょう!
    3. case "$1" in から、 esac までの区間に、データーベース毎のパスワードなどを定義します。
      PASSWORD=
      データーベース毎のデーターベースのパスワードを必ず定義します。
      IGNORETABLES=NOTIGNORETABLES=
      2行を設定しなければ、テーブル全体をバックアップします。 保存データーは1種類です。
      2行を設定すると、指定したテーブルの構造だけを保存し、また別途データーのみを保存し、指定したテーブル以外の全てのテーブルを保存します。 つまり保存データーは3種類となります!
    4. 修正が完璧に完了したら、 exit ; # Finally you have to delete this line! を、削除するか、コメントにします。
  6. まだ実行しません!
    以後、パラメーター・ファイルに致命的な異状があると、エラーを保存して中断します!
  7. ディレクトリー「 MYSQLBACKUPS 」に、データーベース毎に大文字で、ディレクトリーを作成します!

    例:データーベース名/ログイン名を解説の為に

    1. myserver_mt 」とします。
      • ディレクトリー: MYSQLBACKUPS/MT を作成します。
    2. myserver_wordpress 」とします。
      • ディレクトリー: MYSQLBACKUPS/WORDPRESS を作成します。
    3. myserver_mydb 」とします。
      • ディレクトリー: MYSQLBACKUPS/MYDB を作成します。
    4. myserver 」とします。
    DIRNAME2=`echo $DBNAME | $SED 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
    DIRNAME=`echo $DIRNAME2 | $SED 's/^.*_//'`
    if [ "$DIRNAME" = "$DIRNAME2" ]
    then	DIRNAME="${DIRNAME}_"
    	DUMPNAME="mysql_${DIRNAME}"
    else	DUMPNAME=`echo $DBNAME | $SED 's/^.*_/mysql_/'`
    fi
    抽出されたデーターベース名の一部を大文字化しています。 文字には判定し難い文字があります! 数字のゼロと英文字のオーです。 数字の1と、英文字のIです。 判別し難い文字を変更する場合に、 sed 'y/ は、有利です。
    オプションとして :
    4桁の西暦年を手動で作成すると、以後、自動的に2桁の「月」を作成しながら、データーを保存します。
  8. 既出の右の画像は、MS-Windowsで動作する、sftpファイル転送ソフト「WinSCP」で起動する「リモート・コンソール」ですが、サーバー側で「 bash ~/mysqldump.sh 」を実行しましょう!
    パラメーターファイルを読み取って、処理を行います。 エラー・ログ・ファイルを検査して、エラーが無いことを確認します!
    パラメーター・ファイルを読み取って、パラメーター・ファイル内で定義された関数を利用して、パラメーター・ファイルに定義された情報を表示します。 間違いは無いですか?!
  9. DEBUG="on" の先頭に、#文字を挿入し、コメント化しましょう。
    DEBUG="on" のままですと、途中で中断します。
  10. 右上の画像例は、MS-Windowsで動作する、sftpファイル転送ソフト「WinSCP」で起動する「リモート・コンソール」ですが、サーバー側で「 bash ~/mysqldump.sh 」を実行しましょう!
    パラメーターファイルを読み取って、処理を行います。 エラー・ログ・ファイルを検査して、エラーが無いことを確認します!
  11. 作成されたZIPファイルを入手して、解凍し、全く影響の無い「無縁のサーバー」(XAMPP)で、インポート実験を行って、MySQLでのインポートが正常に行われることを必ず確認しましょう!
    運営中の例えばWordPressでのインポートは行わないでください! 惨事に対して責任は持ちません! 必ず無縁のサーバーのMySQLでインポートのテストを行って下さい!
    XAMPP_をローカルPCにインストールして、あなたのPCでWordPressを稼動させ、MySQL(MariaDB_)でインポートの検証と、WordPressの正常稼動を確認する方法があります。 ノウハウは「自分の適当なサブ・ドメインに172.0.0.1と登録する」だけですよね。 w
    新記事「家庭内で多くの端末を利用してXAMPPでWordPressを確認する!」を是非、参照願います!
  12. 画像は、コアサーバー_の、旧コンパネです。 「メールアドレス設定」を選択し、転送先のメールアドレスを登録しましょう。CRONジョブの結果がメールで送られてきます!

  13. 画像は、コアサーバー_の、旧コンパネです。 「CRONジョブ」を選択し、時刻を設定し、本記事のbashスクリプトを定義して下さい。 メールが不要なら、受信元で強制的にゴミ箱に転送させるか、 > /dev/null を「CRONジョブ」のbashスクリプトに追加します。 エラーを知れなくなりますので推奨しません!

  14. 圧縮済みのSQLダンプファイルは、自動的にパーミッションが変更されます。 オーナーしか読み書きできないパーミッションです。 サーバー管理者側のメンテナンスで、オーナーが変化するかも知れません。 ユーザーのオーナーIDが変わってしまうと、本記事のbashスクリプトで得られたファイル群が見えなくなり、扱えなくなります。 そこでコアサーバーの左側の画像の旧コンパネを開いて、「ツール」をクリックし、「ファイル所有者の修正」ボタンを押しておきます。

保存例

MYSQLBACKUPS
 mysqldump.tbl  (Ver: 3.0 以降の機能)
 mysqldump_help.txt
 mysqldump_help20250406.txt.bz2
  |
 $DIRNAME
  | SED4COMMENT.tbl  (option)
  |      Ver: 4.2 以降の機能ファイル
  | SED4COMMENT2.tbl  (option)
  |      Ver: 4.4 以降の機能ファイル
  +---2025
      +---xx
      |
      +---04
            mysql_xxxxxxxxx_20250406.sql.zip
            mysql_xxxxxxxxx_20250406.sql.MD5
            mysql_xxxxxxxxx_20250406_2.sql.zip
            mysql_xxxxxxxxx_20250406_2.sql.MD5
            mysql_xxxxxxxxx_20250406_3.sql.zip
            mysql_xxxxxxxxx_20250406_3.sql.MD5
  1. mysqldump.tbl (場所も名前も固定)
    メインソース mysqldump.sh から、呼び出されるパラメーター・ファイル。
  2. SED4COMMENT.tbl (利用する場合は場所の深さも名前も固定)
    存在すれば、sed_ 外部ファイル・ソースとして、mysql_xxxxxxxxx_20250406_3.sqlが自動的に置換されます。 Ver4.2で変更になりました!
  3. mysqldump_help20250406.txt.bz2
    mysqldumpが今日改訂されたとしたら、日付を付けたファイルにリネームし圧縮されます。
  4. mysqldump_help.txt
    最新のmysqldump --helpです。出力傾向が変化する節目になるのかも知れません。
  5. xxxxxxxxx : データーベース名となります。
    1. mysql_xxxxxxxxx_20250406_3.sql.zip :
      NOTIGNORETABLES=で定義されたデーター(REPLACE)
    2. mysql_xxxxxxxxx_20250406_2.sql.zip :
      NOTIGNORETABLES=で定義された構造の定義。
    3. mysql_xxxxxxxxx_20250406.sql.zip :
      IGNORETABLES=で定義されたテーブル以外の全データー(INSERT)
  6. 以下がエラー・ログ・ファイルの保存場所の候補です。
public_html
  + log
    + mysqldump
        ERRORLOG.txt
または、
log
  + mysqldump
      ERRORLOG.txt
または、
./ERRORLOG.txt

彼女が残した爪跡

目下、MD5値が同じなら、積極的に過去のバックアップを自動削除していますが、末尾.MD5のファイルは残しています。 毎晩、深夜に、自動的に稼動するバックアップで、必ず残るファイルです! もしも、このファイルが欠落していたなら ・・・・・・・ 恋人の浮気を気にして下さい!! 最愛なるプロセスが残した爪跡は、あなたが手動で消すべき痕跡です! w


不断の努力

あなたが行う不断の努力と、あなたの誤操作による被害を考えましょう!
  1. レンタルサーバー管理会社からメンテナンスの案内メールが届いた。
    メンテナンス開始時刻の前に以下の処理を手動で行います。
    1. WordPressの標準機能のエキスポートを実行する。
      この機能が完全なら、専用プラグインは生まれていません!
      DNSを変更し、どこからも接続できないWordPressだと、WordPressのあらゆる機能は利用できない。 勿論、MySQLデーターを手動で改竄出来れば可能になりますが・・・・・
    2. WordPressのデーターベース専用プラグインをインストールして、起動して、WordPressバックアップを行って、ローカルPCに保存する!
      安全の為に、プラグイン内の保存データーは削除しておく! あなたが操作を誤ると簡単に惨事となります!
      DNSを変更し、どこからも接続できないWordPressだと、WordPressのあらゆる機能は利用できない。 勿論、MySQLデーターを手動で改竄出来れば可能になりますが・・・・・
    3. レンタルサーバーのコンパネからデーターベースの保存ボタンを押しておく!
      あなたが操作を誤ると簡単に惨事となります!
    4. レンタルサーバーのphpMyAdminのエキスポートを行って、ローカルPCに保存する!
      あなたが操作を誤ると簡単に惨事となります!
      右の画像は、コアサーバー_XREAサーバー_の旧コンパネですが、チャンスがあれば、PhpMyAdminインストールのボタンを押しておきます。 インストールが無駄になるか、古いままに放置するかを考えますか。

  2. あなたの操作ミスで、MySQLのデーターが消えてしまったなら、あなたはどうしますか?!
  3. 各手動で実行したバックアップからの復旧が不可能となった場合、あなたはどうしますか?!
    DNS定義の変更によって、今現在は、どこからも接続できないWordPressのサーバーの、MySQLへのインポートは、phpMyAdminを利用しますが、あなたが保存したバックアップデーターから、何ら問題なく、復元できていますか? テーブルwp_optionsだけを初期値のままにmysqldumpで出力したSQLファイルを、phpMyAdminを利用してインポートしても、異様に待たされてエラーになりませんか? SQLを比較しても一行の文字数が異様に多過ぎて、エディターで比較処理が進みませんでした。 ですから、本記事で紹介しましたスクリプトを開発しました。
  4. 以上の手動によるMySQLバックアップを忘れてしまったとしたら? どうしますか?!
    旅行、出張、入院、痴呆、などなど、手動でバックアップ出来ない事態ってありますよね? 何日前? 何ヶ月前? 古いバックアップからの復元しか叶いませんかね? それでは、最新の記事はどうしますか? 最新の記事を諦められますか?!
  5. そして、ある日、突然あなたが利用しているメインのWordPressが応答しなくなる!
    過去記事サーバアクセス障害発生時の回避策_」のような、何日もサーバーがダウンすると言うトラブルは予測できませんが、いつ起こるかも知れません。 旅行先にまで緊急の電話が入って「会社に戻れ!」と命令される事態に遭遇します。 熊本のカルデラが噴火するのが早いのか、和歌山のカルデラが噴火するのが早いのか、大阪が名古屋が東京が大地震で被災するのが早いのか、各地のサーバーが停止すると言うトラブルを覚悟しなければなりません。サーバーが応答しなくなった場合、バックアップ・データーは、あなたのPCに転送していたSQLデーターだけかも知れません。WordPressが応答しないのですから、プラグインも使えないし、phpMyAdminだって使えない。あなたは、どうしますか?
  6. 本記事でご紹介した、コアサーバー_で、実際に連続運転中のMySQLバックアップが、自動的に深夜に稼動していたなら、あなたのストレスは少し変わりますか?
    DNSに依存しませんし、WordPressに関係せず、MySQLの好きなデーターベース群のバックアップを無人自動で行います。

MySQLの容量

過去記事サーバアクセス障害発生時の回避策_」、その記事内の項目まず、正常動作中のWordPressを用意する_」で、解説しましたとおり、MySQLデーターが肥大しない運用を心掛けてきました。
  1. ブログ本文は全て外部のサーバーから、JavaScriptファイル呼び出しで提供してきた。
    • ブログ記事の文字数に関係なく、どれだけの長文であっても、数十文字のJavaScriptファイル呼び出しスクリプトしかない。
    • MySQLデーターには、JavaScriptファイル呼び出しスクリプトしか定義されていない。
  2. ブログ追記は全て外部のサーバーから、JavaScriptファイル呼び出しで提供してきた。
    • 追記の文字数に関係なく、どれだけの長文であっても、数十文字のJavaScriptファイル呼び出しスクリプトしか存在しない。
    • MySQLデーターには、JavaScriptファイル呼び出しスクリプトしか定義されていない。
  3. ブログ記事のソースは、MovableTypeインポート書式のファイルで、ローカルPC、複数のサーバーに保存している。
    • 記事毎にMovableTypeインポート・ファイルがあるので、MovableTypeだけでなくて、WordPressや、その他の有名な無料ブログに、自由に記事をインポートできる。
    • MovableTypeインポート・ファイルの BODY: EXTENDED BODY: に、定義されているのは、JavaScriptファイル呼び出しスクリプトです。

WordPressが参照するMySQLデーターの容量は、記事の文章量に関わりなく、少ないです。 そんな中で、MySQLの保存を実行させていますので、トラブルの傾向が異なるかも知れません。 惨事発生時や移転時の、MySQLインポート処理時のトラブルの傾向も異なるかも知れません。

情けない警告メッセージ

mysqldump: [Warning] Using a password on the command line interface can be insecure.
わたしこそが裸の王様でした。同じサーバーを利用している他のユーザーに、MySQLへのユーザー名とパスワードが漏れる可能性がゼロでは無いとサーバー管理者から指導が入りました。丁寧な解説も届きました!

鬱陶しいワーニング・メッセージが、mysqldumpから表示されます! メッセージを表示させない方法は、インターネットで紹介されていますが、情けないメッセージであるとして、笑って済ませましょう。 理由は、MySQLのサーバーをローカル・ホスト(localhost)内で利用する限りにおいて安全だからです。 mysqldumpの利用者は、LANを飛び越えてWANでコピーを行うのでしょうか? mysqldumpの機能で、公開回線であるインターネット経由で遠いサーバーのMySQLにダイレクトに接続を行うと言う非常識なユーザーが存在する事にこそ、恥ずべき利用者に対する警告ですね。 裸の王様さんを笑ってあげましょう! 常識あるサーバー管理者なら、無人自動で、お互いのサーバーでFIFOをオープンし、トンネル工事のように、お互いのFIFOをSCPで接続し、SSH暗号化で守られたパイプ内を、scpでファイル転送を行いますので、どんなデーターも、多重の暗号化で守られます。 情けない運用が続くmysqldumpの利用者の存在に対して、みんなで笑いましょう! 理屈だけで開発者にクレームを言う低いレベルの凡人の存在に冷笑を!!
確かに、psコマンドでプロセスを分析し、同じMySQLを盗んで利用しようとするサーバー内の悪意の族の存在は無視できませんが ・・・・・ 悪意のプロセスはサーバー運営会社によって監視され、不穏な行為はサーバー管理者によって、アカウントを取り上げられ、サーバーから退去させられ、データー分析され削除されるでしょう。 それでも安心を得る為の改訂は、その内に行います。 bashで行えるクールな方法を説いているサイトをお教え下さい。

2019/12/13 15:30 : 対応済みのバージョンをGitLabにアップしておきました必ず、更新願います!

2019/12/16
考察実験進行中!

MYSQLBACKUPS/mysqldump.tbl を、発展的に編集します。 wwww
  • データーベース名/ログイン名を解説の為に「 myserver_mydb 」とします。
  • ディレクトリー: MYSQLBACKUPS/MYDB/2025 を作成します。
  • データーベース個別のパスワードを解説の為に「 mypass 」とします。
  • WordPressの接頭句を解説の為に「 wp5_ 」とします。
  • プラグイン: WordPress Ping Optimizerを、インストールしているとします。
myserver_mydb) export PASSWORD='mypass'
	export	IGNORETABLES='myserver_mydb.wp5_options --ignore-table=myserver_mydb.wp5_usermeta --ignore-table=myserver_mydb.wp5_cbnetpo_ping_optimizer --ignore-table=myserver_mydb.wp5_comments'
	export	NOTIGNORETABLES='wp5_options wp5_usermeta wp5_cbnetpo_ping_optimizer wp5_comments'
;;
さて、わたしは、何を目指しているでしょうか?!
公開中のクローン群に着信するトラックバックをどうするか考察中です。 WordPressのコメントは閉鎖していますが、今は亡くなったSo-netブログのコメントは、MovableTypeエクスポート機能で転送していますので、復旧した記事にはWordPressのコメントとして生き返っています。 トラックバックを上手に家庭内LANのWordPressに持ち帰り反映させる新たな機能を考えなくては・・・・・(微笑)

2020/01/04
Ver 4.2

  1. DBへの接続用「DB名」と「ユーザー名」を個別に定義できるようにしました。
    XAMPPでは、自由にMySQL/DBを作成できます。
    例:
    • DB名: wordpress.mydomain.com
      ピリオドを含めてエラーにならないかと心配でしたが、流石にmysqldump開発者は優秀です! ところが未来でバトンタッチされた新任の開発者が優秀ではないことを想定するなら ・・・・・ ピリオド無しのDB名の方が安全です。
      2020/02/06 :
      • CORE_: mysqldump Ver 10.13
      • XAMPP 7.3.12: mysqldump.exe Ver 10.17
    • DBユーザー名: myname
    • パスワード: passwd123
    • パラメータファイル: MYSQLBACKUPS/mysqldump.tbl

    パラメータファイルへの定義
    export DBNAMES='wordpress.mydomain.com'
    パラメータファイルへの定義
    	wordpress.mydomain.com) export PASSWORD='passwd123'
    		export  DBUSER='myname'
    	;;
    新たに DBUSER=を追加しました。これで好きなだけ、XAMPPでDBを作成できますね。 従来の通り、DBUSER=を定義しなかった場合は、「 DB名=DBユーザー名 」として、機能します。
  2. MYSQLBACKUPSに作成する、DB毎のディレクトリー名が変わります!
    MAIN_ は廃止します。 アンダースコア「 _ 」が含まれるDB名の場合は、従来と変わりません。 アンダースコア「 _ 」を含まないDB名の場合は、最後に「 _ 」アンダースコア文字を追加して下さい。 大文字であることにも注意願います。
    例:
    • DB名: wordpress.mydomain.com
    • DB名: myid_db2020
    • DB名: myid
    • DB名: myid_myid
    MYSQLBACKUPS/WORDPRESS.MYDOMAIN.COM_
    MYSQLBACKUPS/DB2020
    MYSQLBACKUPS/MYID_
    MYSQLBACKUPS/MYID
    新しいディレクトリー名を作成願います。
  3. sed_ 外部ファイルを扱えます。
    export IGNORETABLES= と、export NOTIGNORETABLES= の2つを定義している場合で、以下のファイルを作成します。
    例:
    • DB名: wordpress.mydomain.com
    • WordPress接頭句: wp19_
    • export IGNORETABLES='wordpress.mydomain.com.wp19_options'
    • NOTIGNORETABLES='wp19_options'

    SED4COMMENT.tbl ファイル名は固定です。
    MYSQLBACKUPS/WORDPRESS.MYDOMAIN.COM_/SED4COMMENT.tbl
    目指した機能は、mysql_xxxxxxxxx_20250406_3.sql.zipからコメント行となった2行を、SQL構造定義しかないmysql_xxxxxxxxx_20250406_2.sqlの最後にペーストし、先頭の「 --空白 」を、削除してコメントを解除します。 mysql_xxxxxxxxx_20250406_2.sqlをインポートして2行を確認し、mysql_xxxxxxxxx_20250406_3.sql.zipをインポートし確認します。 そして、mysql_xxxxxxxxx_20250406.sql.zipをインポートします。 以後、mysql_xxxxxxxxx_20250406_2.sql.zip以外を、クローンへ、インポートします。

2020/07/06
Ver 4.4

正規表現仕様専用の外部sedファイルの運用可能

SED4COMMENT2.tbl
例えば、プラグイン「Website File Changes Monitor」で、クローンWordPress毎に変化するテーブル「wfcm_scan-exclude-dirs」をコメント化する必要がある場合に、正規表現仕様専用の外部sedファイルで変換します。

例: 接頭句: wpXX_ (XX: 数字)
2020/07/08 修正しました!
ハッカー:Ujiki.oOへの寄付_

顛末

わたしは、10年を超えて、バックアップだけを行う簡単なスクリプトをコアサーバー_で毎日走らせてきました。 結果は大量のSQLファイル! やっと覚醒し、無駄なバックアップをしないスクリプトを作成しました。 各コアサーバー_で蓄積した、大量のSQLファイル群をWinSCPでネットワークアタッチトストレージ(NAS)_に転送し、アイコWin_で同じファイルを一期に削除していきます。 そして、WinSCPを利用して、アップロード・ミラーリングを行って、大量のSQLファイル群を整理しました。 後は、ゆっくりNASで手動で削除し、WinSCPを利用して、アップロード・ミラーリングを行います。 アイコWinは大変優秀で、 WindowsXP, Windows7Pro(64), Windows10Pro(64)で利用を続けています。 アイコWinの利用をミスすると結果は大変ですよ!

記事の改訂の告知について

DISQUSコメントで案内します。

DISQUSコメントにログインし、DISQUSコメント枠の一番下段の左端のメール・シンボルをクリックすれば、DISQUSコメントがあれば自動的にメールで知らせてくれます。 再度クリックすれば、メール通知を停止できます。 記事末尾のDISQUSコメントの表示が小さくてスレッドのデザインが狭過ぎると思うなら、DISQUSコメント本尊に接続_してみてください。

SNS

応援よろしくお願い致します!MovableTypeインポート書式のファイルを扱えないブログ類は、SNS扱いです。

サポートが必要ですか?


Support AIt's free and fastSupport BIt's free and fastSupport CIt's free and fast

「無料サポート」に興味があれば
上の丸ボタンをクリック願います。
サーバーから9kbを受信しますのでお待ち願います。


※ 記事本文は別サーバーから JavaScriptファイルとして配信しており、配信元のサーバーにおける JavaScriptファイル(YUICOMPRESSOR済み)も、実際にあなたのブログが受信する gzip圧縮済みの JavaScriptファイルも、30日間のキャッシュ流用を定義していますので、特にご質問の前にブラウザーのキャッシュを削除してから、再度のご訪問と閲覧をお願い致します。
※ DISQUSについては別管理ですので、毎回、最新のDISQUSを表示できています。 但し、ご自分のDISQUSコメントを編集した直後に編集後の内容に至らない場合がありますが、DISQUS表示の上部にある「あなたの言語でDISQUSメニューを再表示する!」をクリックしますと最新の状況を表示致します。 宜しくご理解願います。
※ どれだけ待ってもDISQUSが表示されない場合は「広告ブロック」機能を切ってみて下さい。
Google Translator.

良いブログと利用できないブログ


  • CLICK!