質問: 使用中のSQLite3データベースは、次の方法でバックアップできますね(オンラインバックアップ) ``` sqlite3 /path/to/db ".backup /path/to/backup" ``` しかしデータベースが大きいので、この方法ではディスク容量が足りません。 そこでローカルにファイルを作らずに、別のホストへバックアップを送りたいのですが、なにかいい方法がないものでしょうか。
回答: データベースが大きすぎてバックアップが取れないということであれば、アプリケーションを停止してファイルをコピーするのが確実で一番速い方法だと思います。 一応、 ``` sqlite3 db.sqlite3 ".dump" | ssh remotehost 'cat > a' ``` といったようにダンプを標準出力経由でリモートに転送する方法も考えられますが、DBが大きいのであれば * アプリケーションの動作が遅延する * バックアップに長時間かかる * またはその両方 といった事態が起きることが想像されます。 (そもそもバックアップも取れないほどストレージが逼迫してること自体をどうにかすべきですが)