ラベル 運用 の投稿を表示しています。 すべての投稿を表示
ラベル 運用 の投稿を表示しています。 すべての投稿を表示

2021年2月10日水曜日

Metadataバックアップのステータスを取得するサンプル

運用ネタです。メタデータバックアップの履歴を参照して、最後のバックアップが成功したかどうかステータスを確認する方法をメモしておきます。xmllintは読みやすく整形するときにしか使っていませんでしたが、特定のタグを抽出するときに便利ですね。たまにしか使わないので指定の仕方を忘れるので、ここにメモします。
echo 'cat /MetadataServerBackupManifest/Backups/Backup[last()]/@*' | \
 xmllint --shell Lev1/SASMeta/MetadataServer/Backups/MetadataServerBackupHistory.xml | \
 grep =
実行すると以下のような結果が得られます。
 Status="Successful"
 StartingUserID="META:Scheduler"
 StartDateTime="2021-02-10T01:00:00+09:00"
 Name="2021-02-10T01_00_00+09_00"
 Directory="Backups/2021-02-10T01_00_00+09_00"
 Comment=""
 Reorg="N"
 Size="539963257"
 LastVerifyDateTime="2021-02-10T18:42:58+09:00"
 LastVerifyStatus="Successful"

2020年9月19日土曜日

SAS9のプロセスから環境変数の設定を生成

何かのスクリプトを使うときに億劫に感じるのが設定です。で考えたのが動いているプロセスから主要なプロダクトのディレクトリを探す方法です。
#!/bin/sh

function variable() {
    TEMPLSIT=`mktemp --tmpdir=/var/tmp XXX.sh`

    while read var cmd depth
    do
        ps --no-headers --format cmd -C $cmd | \
        awk -vcmd=$cmd '{ for(i = 1; i <= NF; i++) { if (index($i, cmd) > 0) { print $i; exit} } }' | \
        awk -vd=$depth '{ n = split($1, a, "/"); for (i = 2; i < (n + d); i++) { printf("/%s", a[i]) } print ""; }' | \
        awk -vvar=$var '{ printf("export %s=%s\n", var, $1 ) }'
    done << _EOF_
SAS_HOME   sasauth           -4
SAS_CONFIG MetadataServer.sh -3
LSF_HOME   mbatchd           -3
PM_HOME    jfd               -3
RTM_HOME   lsfpollerd        -2
GMS_HOME   gabd              -1
_EOF_

    rm -f $TEMPLSIT
}

variable
実行すると環境変数の定義を生成します。
[root@dwtcjp conf]# sh variable.sh
export SAS_HOME=/SAS/SAS_HOME
export SAS_CONFIG=/SAS/SAS_CONFIG
export LSF_HOME=/SAS/LSF_HOME
export PM_HOME=/SAS/PM_HOME
export RTM_HOME=/SAS/RTM_HOME
export GMS_HOME=/SAS/LSF_HOME/gms