为什么这个文件我执行下面这个文件没有生成 我想要的动态日期日志(也就是这一句)?
TEMP_FILE="temp.$$"
TEMP_FILE1="test.txt"
#set -x
if [ $# -ne 4 ];
then
echo "USAGE: $0 dbserver dbname username passwd"
exit 1
fi
DBSERVER=$1
DBNAME=$2
USERNAME=$3
PASSWD=$4
LOGDIR="./Log"
if [ ! -e "$LOGDIR" ];
then
mkdir "$LOGDIR"
fi
LOGFILE="$LOGDIR/DMEXE_`date +%Y%m%d`.log"
/opt/sybase/OCS-12_5/bin/isql -U$USERNAME -P$PASSWD -S$DBSERVER -D$DBNAME LOGFILE<<SQLa
exec pro_tongji
go
SQLa
#rm $TEMP_FILE
#set +x
还是说上面这样写是不正确的?
我的需求是:
每天用crontab 执行一个存储过程 并写入日志yyyymmdd.log .有人能指教一下吗?最好说一下思路,小妹感激不尽
shell脚本感觉没啥大问题吧,sql
我也没经验,我就说一下crontab
怎么用。
用crontab -e
写入流程,会打开默认编辑器,用不惯可以用export EDITOR='foo'
暂时修改环境变量,其中foo
是自己想要的编辑器。
往文件里写入:
MAILTO = ""
0 0 * * * /usr/local/bin/bash log.sh
0 0 * * *
表示每天午夜执行
/usr/local/bin/bash
是Shell路径,填自己的安装路径,可以用where bash
查看安装路径。我也最近才学,发现有时候不用绝对路径会报错,所以写上。
log.sh
是脚本路径,也是填自己的路径就行。
MAILTO = ""
表示不发邮件。使用时发现crontab
会发系统内部邮件汇报执行情况,挺烦的,但是前几次执行可以先不加这一行调试用,报错会在系统mail里,具体自己查一下吧。
更多可以参考Runoob Crontab