copytable

指定した日付範囲のテーブルおよびインデックスデータファイルを指定したバックアップパスにコピーまたは移動します。一般的にテーブルおよびインデックスデータファイルを定期的に NAS ストレージにバックアップする場合に使用します。

コマンドプロパティ

項目説明
コマンドタイプドライバークエリ
必要な権限管理者
ライセンス使用量該当なし
並列実行非対応
分散実行非対応

構文

copytable path=STR [from=STR] [to=STR] [tables=STR] [indexpath=STR] [worm=BOOL] [overwrite=BOOL] [incremental=BOOL] [move=BOOL]

オプション

path=STR
テーブルのバックアップパスを指定します。パスにバックスラッシュ(\)が含まれる場合はエスケープ(\\)が必要です。
from=STR
バックアップ開始日付をyyyyMMdd形式で指定します。
to=STR
バックアップ終了日付をyyyyMMdd形式で指定します。
tables=STR
複製対象テーブルリストをカンマで区切って指定します。ワイルドカード(*)をサポートします。未指定の場合はすべてのテーブルを対象に動作します。
indexpath=STR
フルテキストインデックスファイルをコピーするパスを指定します。未指定の場合はテーブルデータファイルのみバックアップします。
worm=BOOL
tに設定すると一時ファイル(.transfer)を作成せずにバックアップメディアに直接コピーします。未指定の場合は.transfer拡張子の一時ファイルを作成した後にファイル名を変更します。overwriteおよびincrementalオプションと同時に使用できません。
overwrite=BOOL
tに設定するとバックアップメディアに同名ファイルが既に存在する場合に既存ファイルを削除して上書きします。.transfer一時ファイルを作成した後に既存バックアップファイルを削除してリネームします。途中でクエリをキャンセルしても既存バックアップファイルは保持され一時ファイルのみ削除されます。wormおよびincrementalオプションと同時に使用できません。
incremental=BOOL
tに設定するとバックアップメディアに同名ファイルが既に存在する場合に既存ファイルの末尾にデータを追加します。この場合は一時ファイルは作成されません。wormおよびoverwriteオプションと同時に使用できません。
move=BOOL
tに設定するとコピー完了後に元のファイルを削除します。バックアップファイルのサイズが元のファイルと一致しない場合は元のファイルを削除しません。

出力フィールド

フィールドタイプ説明
_timetimestampそのファイルのバックアップ処理日時
typestringバックアップ対象タイプ。table(テーブルデータファイル)またはfulltext(フルテキストインデックスファイル)
namestringテーブル名またはテーブル名.インデックス名形式のインデックス名
file_pathstringバックアップファイルの絶対パス
file_sizelongファイルサイズ(バイト)
statusstringバックアップ状態
error_msgstringエラー発生時のエラーメッセージ。正常処理されたファイルにはこのフィールドは割り当てられません。

エラーコード

パースエラー
エラーコードメッセージ説明
41006올바르지 않은 백업 옵션입니다.overwriteincrementalwormオプションを相互排他的に使用しない場合
41009명령어 실행 권한이 없습니다.管理者権限がない場合
41010올바르지 않은 날짜 구간입니다.from日付がto日付より後の場合
41011올바르지 않은 테이블 이름입니다.指定したテーブル名に一致するテーブルがない場合
41012시작 날짜 포맷([from])이 형식(yyyyMMdd)에 맞지 않습니다.fromオプションの値がyyyyMMdd形式でない場合
41013끝 날짜 포맷([to])이 형식(yyyyMMdd)에 맞지 않습니다.toオプションの値がyyyyMMdd形式でない場合
41014조회할 [file]이 존재하지 않거나 읽을수 없습니다.指定したバックアップパスが存在しないか読み取れない場合
41015필드명을 입력하십시오.pathオプションを指定しない場合
ランタイムエラー

該当なし

説明

copytableコマンドは、各データファイルのコピーを実行しながら現在の進行状況をレコードとして出力します。同名ファイルが既に存在する、リネームに失敗する、バックアップメディアの容量が不足するなどの例外が発生すると、error_msgフィールドにエラー内容を割り当てます。これを利用してエラー発生時に警告メールを送信するなどの後処理を実行できます。途中で一部のデータファイルのバックアップに失敗しても、ユーザーが明示的にキャンセルするまでクエリは中断されずに実行されます。

別途オプションを指定しない場合は、コピー時に.transfer拡張子の一時ファイルを作成し、完了後に元のファイル名に変更します。クエリをキャンセルすると一時ファイルが削除されます。

コピーを開始する前に、メモリにバッファリングされたデータをディスクにフラッシュするためにテーブルロックを一時的に取得します。すでにロックされているテーブルはメモリにデータがないことが保証されているためロックをスキップします。

indexpathオプションを指定すると、各テーブルについてまずテーブルデータファイルをコピーした後にフルテキストインデックスファイルをコピーします。

使用例

  1. 全テーブルのバックアップ

    copytable path="/backup/logpresso" from=20260101 to=20260131
    

    すべてのテーブルの2026年1月のデータファイルを/backup/logpressoパスにコピーします。

  2. 特定テーブルをインデックスと一緒にバックアップ

    copytable path="/backup/logpresso" indexpath="/backup/logpresso" from=20260101 to=20260131 tables="firewall_logs,web_logs"
    

    firewall_logsweb_logsテーブルの2026年1月のデータファイルとフルテキストインデックスファイルをバックアップします。

  3. 増分バックアップ

    copytable path="/backup/logpresso" from=20260301 to=20260317 incremental=t
    

    既にバックアップ済みのファイルがある場合は既存ファイルの末尾にデータを追加する方式で増分バックアップを実行します。

  4. バックアップ後に元のファイルを削除(移動)

    copytable path="/backup/logpresso" from=20250101 to=20250131 move=t
    

    データファイルをバックアップパスにコピーした後に元のファイルを削除します。

  5. 上書きバックアップ

    copytable path="/backup/logpresso" from=20260301 to=20260317 overwrite=t
    

    バックアップメディアに同名ファイルが存在する場合は既存ファイルを削除して再コピーします。