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或者其他问题,有待研究

你可能感兴趣的:(oracle,Date,脚本,user,bash,cron)