問題タブ [backup-strategies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1195 参照

sql-server - SQL Server の差分バックアップ ファイルのサイズが以前のものよりも小さいですか?

完全復旧モードで、SQL Server 2008 DBMS で運用システムを実行しています。

毎日午前 0 時に完全バックアップ、2 時間ごとにログ バックアップ、6 時間ごとに差分バックアップを作成します (06:00、12:00、18:00 ですが、完全バックアップは午前 0 時ではありません)。

しかし最近、18:00 の差分バックアップ ファイルサイズが 12:00 のものよりも小さいことに気付きました。そして時々、12:00 の 1 つは 06:00 よりも小さいです ...

私は最近までこの動作を経験していませんでした。

Microsoft doc から読むと、差分バックアップのファイルサイズは、新しい完全バックアップが作成されるまで、常に以前のものよりも大きくする必要があります。

誰がこれを引き起こしているのか説明できますか?

ありがとう。

0 投票する
2 に答える
143 参照

backup - ソース リポジトリと zip 宛先フォルダーをバックアップする方法を教えてください。

ソースはすべて Windows OS 上にあり、宛先バックアップは Unix システム上にあります (Samba を使用しています)。

ソース リポジトリは次のようになります。

次のような目的地を取得したいと思います。

最初のバックアップの後、最後のバックアップ以降に変更されたファイルのみをバックアップします。(または、新しいフォルダー/ファイルが作成された場合はバックアップ)。

バックアップに必要なツールまたはスクリプトを知っている人はいますか? Robocopy でそれを行うことはできますか?

0 投票する
2 に答える
2907 参照

mysql - あるテーブルから別のテーブルへの MySQL の日次バックアップ

同じ定義のテーブルが 2 つある場合、データを毎日バックアップするにはどうすればよいですか? mySQL Administrator を使用してこのようなことを実行できますか

  • 毎日午前 12:00 に、すべての行を main_table から backup_table にコピーします。
  • backup_table のレコードにいくつかの変更が加えられ、新しいバックアップでそれらの変更を消去したくないため、増分バックアップの方が望ましいでしょう。

ありがとう

0 投票する
1 に答える
204 参照

sql-server - 大規模データベースのメンテナンス期間と復旧

私たちのチームの 1 つが、やや大きく (~500GB)、そこから拡大するデータベースを開発しています (500 ギグは多くの人にとって小さいように見えるかもしれませんが、私たちのショップでより大きなデータベースの 1 つになるでしょう)。彼らが取り組んでいる問題の 1 つは、データベースのバックアップと復元です。基本的に、データベースにはいくつかの「データ」テーブルと、画像/ドキュメントの保存に使用される 1 つのテーブルがあります。次のことを達成する必要があります。

  • デバッグとテストの目的で、データ テーブル (sans images) のみをテスト サーバーにすばやくバックアップして復元できます。
  • 壊滅的なデータベース障害が発生した場合は、データ テーブルのみを復元して、ほとんどのアプリケーションをできるだけ早く起動して実行します。次に、可能であれば images テーブルを復元します。
  • 夜間に割り当てられた時間枠 (数時間) 内にデータベースをバックアップします。

私の質問は次のとおりです。

  1. 画像を同じデータベースに保存したまま、最初の 2 つの目標を達成することは可能ですか? もしそうなら、ファイルグループ、ファイルストリーム、または何か他のものを使用しますか?
  2. 他のショップは、高可用性を維持しながら妥当な時間枠でデータベースをバックアップするにはどうすればよいでしょうか? 2 番目のサーバーにレプリケートし、そこからバックアップしますか?
0 投票する
3 に答える
6050 参照

c++ - デバッグコンパイルされたバイナリからソースを取得できますか?

調べてみると、約8年前にVisual C++6.0で書いたものの実行可能ファイルが見つかりました。ソースコードをバックアップしたことはありませんが、常にすべてをデバッグモードでコンパイルしたと思います。また、「コンパイラのデバッグシンボルなどがないと、実行可能ファイルをソースコードに逆コンパイルできない」という話をどこかで聞いたことをぼんやりと覚えています。コードには感傷的な価値がありますが、私がそれを取得することはミッションクリティカルではありません。

それが背景です。ここに質問があります:

  1. 実行可能ファイルがデバッグモードでコンパイルされているかどうかを確認するにはどうすればよいですか?
  2. そうである場合、デバッグモードの実行可能ファイルにはどのような情報が含まれていますか?
  3. 完全なソースコードを取得できますか?それができない場合、リリースバージョンと比較して逆コンパイル時に大幅な改善を得ることができますか?もしそうなら、どのように?

ありがとう、

-マイケル・バージ

0 投票する
2 に答える
458 参照

mysql - mysql データベースのデータのバックアップ/復元

mysqlデータベースのデータを非常に迅速にバックアップ/復元する方法は?

0 投票する
1 に答える
2285 参照

python - ストリーム rdiff - 差分差分?

rdiff を使用してオンライン バックアップを行う製品があります。現在起こっていることは次のとおりです。

  1. ファイルをステージング領域にコピーします (作業中にファイルが消えたり変更されたりしないようにします)

  2. 元のファイルをハッシュし、rdiff 署名を計算します (差分差分に使用されます) rdiff 差分差分を計算します (以前のバージョンがない場合、この手順はスキップされます)

  3. 結果のデルタ差分を圧縮および暗号化します

現在、これらのフェーズは互いに別個に実行されています。最終結果は、ファイルを複数回反復処理することです。小さなファイルの場合、これは大したことではありませんが (特にディスク キャッシングの場合)、大きなファイル (数十または数百 GB) の場合、これは実際のパフォーマンス キラーです。

これらのすべてのステップを 1 つの読み取り/書き込みパスに統合したいと考えています。

そのためには、ファイル ハッシュ、rdiff 署名、圧縮および暗号化されたデルタ差分ファイルなど、すべての「出力」を保持しながら、上記のすべての手順をストリーミング方式で実行できる必要があります。これには、ソース ファイル (たとえば、100k?) からデータのブロックを読み取り、メモリ内のファイルを反復してハッシュ、rdiff 署名を更新し、デルタ差分を実行し、出力を圧縮/暗号化出力ストリームに書き込む必要があります。 . 目標は、ディスクのスラッシングの量を大幅に最小限に抑えることです。

現在、署名を計算し、バイナリ デルタを生成するために、rdiff.exe (基盤となる librsync ライブラリの最上位の薄いレイヤー) を使用しています。これは、これらが別のプロセスで行われ、ストリーミング方式ではなくワンショットで行われることを意味します。

librsync ライブラリを使用して必要なことを行うにはどうすればよいですか?

0 投票する
1 に答える
6192 参照

android - AndroidSharedPreferencesバックアップが機能しない

私はAndroidアプリケーションでSharedPreferencesをバックアップする方法、特に下位互換性を維持するためにリフレクションを使用する方法について宿題をしています。少なくとも私は試してきました。残念ながら、私のコードはどれも実際にはバックアップを作成することにはなりません!これには、ここで説明するように、エミュレーターでadbbmgrコマンドを強制することが含まれます。だから私はコミュニティがおそらく私を助けてくれるのだろうか、そしてその過程でいくつかのより良いドキュメントを考え出すことができるのだろうか?

これが私のコードです。これを他の人にとって可能な限り一般的なものにするために、 com.example.andyというパッケージ名でアプリケーションAndyを呼び出すだけです。

Androidマニフェスト(抜粋)

backupHelper.java

注:/data/data/com.example.andy/shared_prefs/com.example.andy_preferences.xml

BackupAgentWrapper

そして最後に、実行時にバックアップを開始するコマンド。私のアプリケーションでは、このコードは、アプリケーションで使用可能なクラス(メインアクティビティではない)から実行され、作成時にコンテキストとして渡さ、プライベート変数mContextに格納されます。

要約すると、上記の関数も以下のコマンドも実際にはデータをバックアップしません。

0 投票する
2 に答える
236 参照

version-control - バージョン管理ベースのバックアップ ツールを探しています

私は常に旅行しており (2 ~ 3 か月ごとに、新しい都市または国にいます)、実際の恒久的な住所はありません。私は過去数年にわたってすべてのねじれを解決することができました...優れたバックアップ/同期ソリューションを持っていることを除いて.

私は macbook pro と thinkpad w701 (2 つの異なる VM を実行) を持っています。1 台のマシンで変更 (新しい音楽の追加やプレゼンテーションの更新など) を行うには、どこで何が変更されたかを追跡する必要があるため、面倒です。そして、数週間ごとに、3 つの異なるイメージを同期した後、持ち歩いているバックアップ ドライブに手動で同期しようとします。

これは、これまでで最も厄介なことです...特に、バックアップドライブに変更を加えることがあり、それらを上書きしないように覚えておく必要がある場合は特にそうです。

私が本当に欲しいのは、ワークフローのようなバージョン管理がもっとあるシンプルなものです:

  • 変更を一部の中央サーバーにプッシュできます (コミットのように。例: 音楽ディレクトリにいくつかの変更を追加し、それらの変更をバックアップにコミットするだけです)。

  • バックアップが行われる前に、どのファイルが上書きされるか、どのファイルが新しいかなどの「差分」を確認したいと思います。

  • サーバーから自分のファイルにアクセスできます (オーディオ ミックスを作成していて、いくつかの曲を取り出す必要がある場合は、サーバーから取得したいと思います。すべてのバックアップは、1 つの大きなバイナリ圧縮された zip BLOB だけではありません。 )

Dropbox はかなり近いですが、「コミット」と「差分」機能がありません。Amazon AWS の使用を考えましたが、差分が表示されず、aws から直接ファイルにアクセスできないため、不十分です。

何か案は?または他の解決策はありますか?私が本当に欲しいのは、クラウドの TimeMachine か、インターネット経由で安全にアクセスできる NAS かもしれません。

0 投票する
3 に答える
866 参照

c++ - 増分バックアップ: ファイルの削除を追跡する方法

C++ で実行してファイルをブロックに分割し、SQLITE3 データベースで md5 ハッシュを使用してブロックを追跡するオフサイト バックアップ ソリューションがあります。そして、ブロックをデータベースとともにリモート サイトに転送します。

したがって、復元を実行したい場合は、SQLITE3 データベースにクエリを実行し、それに応じてブロックを復元します。

最初のバックアップが実行されると、base_backup という大きなテーブルが作成されます。以降のすべてのファイル変更または新しいファイルは、新しいテーブルに新しいレコードとして追加されます。復元したい場合は、base_backup テーブルとすべての相違点を照会して、ファイルを復元します。

バックアップの実行方法として、指定されたフォルダー内のすべてのファイルをスキャンしてアーカイブ ビットを探します。アーカイブ ビットがクリアされている場合は、データベースにレコードがまだ存在しないかどうかを確認し、バックアップするかどうかを決定します。

私の質問になりますが、ファイルがローカル コンピューターで削除された場合、それを追跡し、それに応じてオフサイト バックアップを更新するにはどうすればよいですか? 復元を行うときに、すべてのガベージ ファイルを復元したくないからです。ファイルがフォルダから削除されたかどうかを知る方法はありますか? 時間がかかりすぎるため、データベースから検証チェックを実行したくありません。