crontab任务
前两天写了一个定时从数据库中导出数据的sh脚本,内容见下面。直接执行该sh脚本是没有问题的,加到后台定时任务中的时候怎么也执行不成功,后来在网上找了问题的原因,现总结如下:
1. crontab任务和当前用户直接执行不一样,后者有配置的环境变量,而前者没有(这也是我遇到的问题的关键之处)
因此需要在脚本中加上数据等环境变量(当然你要懒的话,可以把用户下的所有环境变量一起加进去)。
操作步骤:
1.写sh脚本,记得把环境变量加进去。
exportexport命令可以显示出当前用户下所有的环境变量,选择你需要的直接copy到sh脚本中
#start#create temp tabledb <<!select * into tab_wx_temp from tab_device where status=0 go!#delete old file create new filecd /export/home/userdata/rm -rf wuxi_all.txtbcp tab_wx_temp out wuxi_all.txt -Si -Ppasswd -Uuser -c
2.用命令:
crontab -l
查看已经配置的定时任务。把自己写好的脚本加到定时任务中的步骤:
(1)运行crontab -l > temp
(2)对temp文件进行编辑,追加一行
30 0 * * * sh /home/pp.sh
表示在每天的午夜0:30启动sh /home/pp.sh文件运行,而如下一行
(3)运行crontab temp
页:
[1]