Unix/Linux 変数のシンボリックリンクの取得

Unix/Linux 変数のシンボリックリンクの取得

一連のシンボリックリンクを含むフォルダがあるとします。

ussdv103:en195d; default$  pwd
/oradba/app/oracle/admin/database1
ussdv103:en195d; default$  ls -ltr
exp -> /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/exp
dpdump -> /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/dpdump
backup -> /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/backup

次に、次のコマンドを実行して別のSTREAMディレクトリに接続しました。

unlink $ORACLE_BASE/admin/database1/backup
unlink $ORACLE_BASE/admin/database1/dpdump
unlink $ORACLE_BASE/admin/database1/exp
mkdir -p /oradba/app/oracle/acfsmounts/global/STREAM1a/database1/backup
mkdir -p /oradba/app/oracle/acfsmounts/global/STREAM1a/database1/dpdump
mkdir -p /oradba/app/oracle/acfsmounts/global/STREAM1a/database1/exp
ln -s $ORACLE_BASE/acfsmounts/global/STREAM1a/database1/backup $ORACLE_BASE/admin/database1/backup
ln -s $ORACLE_BASE/acfsmounts/global/STREAM1a/database1/dpdump $ORACLE_BASE/admin/database1/dpdump
ln -s $ORACLE_BASE/acfsmounts/global/STREAM1a/database1/exp    $ORACLE_BASE/admin/database1/exp

次に、次のコマンドを使用して、古いSTREAMディレクトリのデータを新しいSTREAMディレクトリにコピーします。

cp -p -r /oradba/app/oracle/acfsmounts/global/STREAM##/database1/ /oradba/app/oracle/acfsmounts/global/STREAM1a/.

しかし、以前のSTREAMディレクトリの場所を反映するように##を変更する必要があるため、コマンドは次のようになります。

cp -p -r /oradba/app/oracle/acfsmounts/global/STREAM2a/database1/ /oradba/app/oracle/acfsmounts/global/STREAM1a/.

古いSTREAMディレクトリに関する情報を取得する方法今後マイコピーコマンドを切断する自動的に変える##以前のSTREAMディレクトリの正しい場所は何ですか?以前のシンボリックリンクを割り当ててから、コピーコマンドで参照できるUnix / Linux変数はありますか?

ベストアンサー1

リンク情報を読み込み、古いファイルの宛先を変数に保存するには、readlink コマンドを使用します。

OLDBACKUP=`readlink $ORACLE_BASE/admin/database1/backup`
OLDDUMP=`readlink $ORACLE_BASE/admin/database1/backup`
OLDEXP=`readlink $ORACLE_BASE/admin/database1/exp`
NEWBACKUP="/oradba/app/oracle/acfsmounts/global/STREAM1a/database1/backup"
NEWDUMP="/oradba/app/oracle/acfsmounts/global/STREAM1a/database1/dpdump"
NEWEXP="/oradba/app/oracle/acfsmounts/global/STREAM1a/database1/exp"
unlink $ORACLE_BASE/admin/database1/backup
unlink $ORACLE_BASE/admin/database1/dpdump
unlink $ORACLE_BASE/admin/database1/exp
mkdir -p $NEWBACKUP
mkdir -p $NEWDUMP
mkdir -p $NEWEXP
ln -s $NEWBACKUP $ORACLE_BASE/admin/database1/backup
ln -s $NEWDUMP $ORACLE_BASE/admin/database1/dpdump
ln -s $NEWEXP    $ORACLE_BASE/admin/database1/exp

cp -p -r $OLDBACKUP $NEWBACKUP
cp -p -r $OLDDUMP $NEWDUMP
cp -p -r $OLDEXP $NEWEXP

おすすめ記事