中央サーバーといくつか (約 50) のリモート サーバーがあります。毎晩、各サーバーから中央サーバーにログ データを転送したいと考えています。それらはすべて Linux を実行し、ログは MySQL に保存されます。すべてのサーバーに ssh アクセスできます。
リモートサーバーから中央サーバーにデータを転送するための最良の (最も簡単で、最も安全で、最も信頼できる...) 方法は何ですか?
ありがとう
中央サーバーといくつか (約 50) のリモート サーバーがあります。毎晩、各サーバーから中央サーバーにログ データを転送したいと考えています。それらはすべて Linux を実行し、ログは MySQL に保存されます。すべてのサーバーに ssh アクセスできます。
リモートサーバーから中央サーバーにデータを転送するための最良の (最も簡単で、最も安全で、最も信頼できる...) 方法は何ですか?
ありがとう
ニーズとこれに費やす時間に応じて、私はこのスクリプトを長い間使用してデータベースをバックアップしてきました。
これは、試行錯誤された低コストの戦略であり、非常に柔軟で信頼性が高いです。
一般に、mysqldump を使用してダンプし、すべての複製サーバーにロードし直すのが最も簡単です。mysqldump の多くのオプションの一部を使用して、ロック、MVCC スナップショット、どのテーブル、その他のオプションなどを制御できます。
CSV は、フィールドを終了する方法、エスケープする方法などに同意する必要があるため、mysqldump よりも困難です。
新しい行を csv ファイルにエクスポートできます。このような:
SELECT id, name, email INTO OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
FROM users WHERE timestamp > lastExport
次に、scp 経由で転送し、mysqlimport でインポートします。データベースがinnoDB の場合、最初に参照されたテーブルをインポートする必要があります。