vi、mkdir、chmod、su、crontab# su - oracle
$ cd /dbf
$ mkdir dmpbak
$ cd dmpbak
$ mkdir zd cm
$ cd $ORACLE_HOME/bin
$ vi exp_t
exp_t 內容:
ORACLE_HOME=/oracle
ORACLE_SID=ora7
ORACLE_TERM=ansi
export ORACLE_HOME ORACLE_SID ORACLE_TERM
MENU5PATH=$ORACLE_HOME/forms30/admin/resource
export MENU5PATH
ORATERMPATH=$ORACLE_HOME/forms30/admin/resource
export ORATERMPATH
NLS_LANG=American_America.ZHS16CGB231280
export NLS_LANG
ORA_NLS=/oracle/ocommon/nls/admin/data
export ORA_NLS
home1='/dbf/dmpbak'
dt1=`date "+%y%m%d%H%M"`
echo ' ' > '$home1/new_record'
file_name="$home1/zd/zd$dt1"
echo $file_name >> '$home1/new_record'
$ORACLE_HOME/bin/exp zd/zdzd file=$file_name.dmp owner=zd grants=y buffer=204800 rows=y indexes=y compress=y
file_name="$home1/cm/cm$dt1"
echo $file_name >> '$home1/new_record'
$ORACLE_HOME/bin/exp common/cmcm file=$file_name.dmp owner=common grants=y buffer=204800 rows=y indexes=y compress=y
file='/dbf/dmpbak/new_record'
backup_dir='/oracle/sec_back'
if [ -d $backup_dir ]; then
for i in `cat $file`; do cp $i $backup_dir/; done
echo ' ' > $file
fi
$ chmod 755 exp_t
$ ./exp_t
$ ls /dbf/dmpbak/zd/ # 確認生成 .dmp 檔
$ vi deldmp
home1='/dbf/dmpbak'
TZ=CST+16; export TZ
dt1=`date "+%y%m%d"`
file_name="$home1/zd/zd$dt1"
rm $file_name*.dmp
file_name="$home1/cm/cm$dt1"
rm $file_name*.dmp
TZ=CST-16; export TZ
$ chmod 755 deldmp
$ ./deldmp # 測試
# crontab -e
35 * * * * su - oracle -c /oracle/bin/exp_t
55 1 * * * /oracle/bin/deldmp
若不需保留歷史,可移除 deldmp,讓同名檔案直接覆蓋。