crontab oracle expdb 不執行的問題

[oracle@db expdump]$ crontab -e
0 22 * * * /u01/backup/backup.sh


類似這個腳本是可以在cron裏面執行的


[oracle@db expdump]$ more backup.sh

#!/bin/sh
rq=`date +%Y%m%d`
filename="test$rq"
expdp system/*** directory=expdump dumpfile=$filename.dmp logfile=$filename.log schemas=test content=data_only
bzip2 -z $filename.dmp
ftp -invd<<FTPBOCK
open 111.111.111.111
user anonymous anonymous
bin
put $filename.dmp.bz2
put $filename.log
quit

FTPBOCK


但是,如果把expdb 中的 filename直接用 命令替換 `date +%a` ,腳本依然會被調用,但是 expdb這條語句不會執行


例如 : expdp system/*** directory=expdump dumpfile=`date +%a`.dmp logfile=`date +%a`.log schemas=test content=data_only


不行的原因可能是因爲 bash的命令替換 `` 可能會引起的word splitting或者其他問題,有待研究

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章