1. ホーム
  2. スクリプト・コラム
  3. その他

コマンドによるフォルダの簡単なインクリメンタルバックアップ(win/linux)

2022-01-07 20:31:44
ここ2日ほどで、急にインクリメンタルバックアップ機能を実装する必要に迫られ、いろいろと情報を探した結果
以下のコマンドを使用することで、コマンドラインから簡単な増分バックアップを行うことができます。
勝つことです。 
コピーコード コードは以下の通りです。

xcopy C:\Docs D:\Backup\Docs /E /H /R /Y /I /D

各パラメータの具体的な値は、xcopy /の出力で確認できます。
Linuxは、やはり強力なrsyncコマンドを使えば、具体的な使い方は人力かググれば出てきます。もちろん、windowsでもrsyncを使うことができます
Windows用Xcopyバックアップコマンドのパラメータを以下に説明します。

ファイルとディレクトリのツリーをコピーします。

XCOPY ソース [宛先] [/A | /M] [/D[:date]]. [P] [/S [/E]] のようになります。[/V] [/W]
                           c] [/i] [/q] [/f] [/l] [/g] [/h] [/r] [/t] [/u] [/u
                           k] [/n] [/o] [/x] [/y] [/z] [/y] [/z] 。
                           [/EXCLUDE:file1[+file2][+file3]...]

  ソース コピーするファイルを指定します。
  新しいファイルの場所と名前を指定します。
  /archive属性が設定されているファイルのみコピーします。
               が、属性は変更しない。
  /M アーカイブされた属性セットを持つファイルのみをコピーします。
               で、アーカイブ属性をオフにします。
  /D:m-d-y 指定された日付以降に変更されたファイルをコピーします。
               日付を指定しない場合は、コピー元の時刻のみがコピーされます
               のファイルは、ターゲット時間より新しいものです。
  /EXCLUDE:file1[+file2][+file3]...です。
               文字列を含むファイルの一覧を指定する。各文字列
               は、ファイル内の別の行に記述する必要があります。もし
               コピーするファイルの絶対パス文字列
               にマッチする場合、そのファイルはコピーされません。
               例えば、.obj などの文字列を指定すると、以下のように除外されます。
               objディレクトリ以下のすべてのファイル、または
               .objの拡張子を持つ。
  /P 各ターゲットファイルを作成する前にプロンプトが表示されます。
  /S 空のディレクトリを除いて、ディレクトリとサブディレクトリをコピーします。
  /E ディレクトリとサブディレクトリを、空のディレクトリも含めてコピーします。
               S /Eと同じ。Tの修正に使用可能。
  /V 新しいファイルごとに検証します。
  /W コピーの前にキーを押すよう促します。
  /C エラーが発生してもコピーを続行します。
  /I ターゲットが存在せず、複数のファイルをコピーしている場合。
               の場合、ターゲットはディレクトリでなければならないと仮定されます。
  /Q コピー時にファイル名を表示しない。
  /F コピー時にコピー元とコピー先のファイル名を完全に表示します。
  /L コピーされるファイルを表示します。
  /G 暗号化されていないファイルへのコピーを許可します。
               暗号化をサポートしないターゲット
  /H は、隠しファイルやシステムファイルもコピーします。
  /R 読み取り専用のファイルを上書きします。
  /T ディレクトリ構造を作成しますが、ファイルはコピーしません。
               空のディレクトリやサブディレクトリを含めない。/T /E 含まれます。
               空のディレクトリとサブディレクトリ。
  /U ターゲットに既に存在するファイルのみをコピーします。
  /K 属性をコピーする。通常の Xcopy では、読み取り専用属性はリセットされます。
  /N 生成されたショートネームでコピーします。
  /O ファイルの所有権と ACL 情報をコピーします。
  /X ファイルの監査設定をコピーします (暗黙の/O)。
  /Y ファイル監査設定をコピーします (暗黙の/O)。
               既存のターゲットファイル。
  /-を書き換えることを確認するプロンプトが表示されます。
               既存のターゲットファイル
  /Z 再起動モードでネットワークファイルをコピーします。

コマンドラインスイッチ /Y は、あらかじめ環境変数 COPYCMD で設定することができます。
コマンドラインで/-Yを指定すると、上書きされる場合があります。