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