Ssh接続を介してリモートホストからデータベースをダンプし、ローカルコンピューターにバックアップファイルを保持することは可能ですか?.
もしそうなら、どのようにこれを達成できますか?
私はそれがsshからダンプまたはその逆へのパイプ出力のいくつかの組み合わせになると仮定していますが、それを理解することはできません。
これにより、sshを介してローカルファイルにダンプ、圧縮、ストリーミングされます。
ssh -l user remoteserver "mysqldump -mysqldumpoptions database | gzip -3 -c" > /localpath/localfile.sql.gz
@MichelFeldheimのソリューションから始めて、次のものを使用します。
$ ssh user@Host "mysqldump -u user -p database | gzip -c" | gunzip > db.sql
ssh -f [email protected] -L 3306:server.com:3306 -N
その後:
mysqldump -hlocalhost > backup.sql
また、mysqlをローカルで実行していないと仮定します。その場合、ポートを他の何かに調整できます。
Michel Feldheim が提供する回答を出発点として使用して、リモートホストでのmysqldump
コマンドの自動化を容易にするために script を作成しました。
このスクリプトを使用すると、SSH
の有無にかかわらず、オプションで環境変数を含む.env
ファイルを使用して、リモートホストからデータベースダンプをフェッチできます。
データベースの自動バックアップにスクリプトを使用する予定です。 問題を作成する / 貢献 に気軽に-これが他の人にも役立つことを願っています!