1

定義された動的/スナップショット ビューの大部分は毎日のバックアップ ポリシーに含めることができないため、すべてのビューで変更されたチェックアウト要素のみの定期的なサイズ効率の良いバックアップを作成することは、私たちにとって素晴らしいことです。

次の ksh コードは、動的ビューに必要なものに近いものですが、ビューの構成仕様ファイルの最初の行が常に最初にチェックアウトされた要素 ( *element * CHECKEDOUT* ) を選択することを自明に想定しています。一般的にはうまくいきません。

ビュー内のバージョン管理された各ファイルについて、そのビューに対して選択された VOB 内の対応する最後のバージョン管理されたエレメントと異なる場合にのみ、そのファイルをバックアップ リストに追加できるようにしたいと考えています。(ビューで展開されている場合のみ)。

[ソリューションは、スナップショット ビューにも有効である必要があります]

for CHECKEDOUT_FILE_IN_THE_VIEW in $( /usr/atria/bin/cleartool lsco -cview -avobs -short  )
do

  VERSIONED_FILE_NAME=$( /usr/atria/bin/cleartool describe -short ${CHECKEDOUT_FILE_IN_THE_VIEW} \
                        | sed -e's/CHECKEDOUT/LATEST/' )

    if [ -f ${VERSIONED_FILE_NAME} ]; then

       if [ -f ${CHECKEDOUT_FILE_IN_THE_VIEW} ]; then

        diff -b ${CHECKEDOUT_FILE_IN_THE_VIEW}  ${VERSIONED_FILE_NAME} > /dev/null

        if [ $? -ne 0 ]; then

           ##-- The checked-out file in the view is different from the corresponding
           ##-- versioned element in the VOB. So it has to be added to the backup list.

           echo "${VERSIONED_FILE_NAME}" >> ${F_LOG}
        fi
       fi
    fi

 done

何か案は) ?。ティア。ハビエル C.

4

1 に答える 1

1

率直に言って、動的ビューの場合、より単純なバックアップ戦略は、その動的ビューに関連付けられたビュー ストレージを圧縮してバックアップすることです (' の後cleartool endivew -server aDynViewTag):

  • すべてのチェックアウト ファイルとプライベート ファイルはビュー ストレージに保存されます (動的ビューのみ)。
  • ただし、バージョン管理された対応するファイルと比較して、(まだ) 変更されていないチェックアウトされたファイルは考慮されません。

動的ビューとスナップショット ビュー
の両方に汎用的なソリューションが必要な場合は、次を参照できます。' (cleartool lsco使用している ' ') ですが、システムベースの差分を作成するために最新バージョンを計算する必要はありません。
簡単にできます:

cleartool diff -pred ${CHECKEDOUT_FILE_IN_THE_VIEW}

チェックアウトされたバージョンとその以前のバージョンの間に何らかの変更が存在する場合は、何かが返されます (スナップショット ビューまたは動的ビューのバージョンの場合)。
を参照してくださいcleartool diff

于 2010-09-06T17:18:23.840 に答える