1行のバックアップ、圧縮、scpデータベースファイル

1行のバックアップ、圧縮、scpデータベースファイル

私はリモートでホストされている Web サイトを持つ会社をサポートしています。彼らは PostgreSQL データベースを使用しています。

リモート サーバーでスクリプトを書くことはできませんし、リモート サーバーにバックアップ ファイルを保存したくもありませんが、cron ジョブを実行することはできますし、リモート サーバーの SSH 公開キーにアクセスできます。認証用にリモート ホストの秘密キーを受け入れるようにローカル Linux ホストを設定しました。

バックアップ ファイルをローカル Linux ボックスに同期的にバックアップ、圧縮、および scp する 1 行のスクリプトを作成する必要があります。

ローカル Linux ボックスがmylinuxbox.foo.comポート 122 で SSH 経由でアクセス可能で、データベースの名前が の場合mydatabase、このワンライナーの cron ジョブ コマンドはどのようになるでしょうか?

答え1

データベースに ident 認証 (または .pgpass) を使用していると仮定すると、おそらく次のような操作を行うことになります。

pg_dump -Udbuser -h127.0.0.1 mydatabase |gzip -c > mydatabase.backup.gz; scp -P 122 mydatabase.backup.gz [email protected]:; rm -f mydatabase.backup.gz

別のオプションを追加するために編集しています...

バックアップ ファイルの中間保存を行わないことが本当に重要な場合は、上記を次のように変更できます。

pg_dump -Udbuser -h127.0.0.1 mydatabase |gzip -c | ssh -p 122 [email protected] "cat >mydatabase.backup.gz"

関連情報