crontab任务

前两天写了一个定时从数据库中导出数据的sh脚本,内容见下面。
直接执行该sh脚本是没有问题的,加到后台定时任务中的时候怎么也执行不成功,后来在网上找了问题的原因,现总结如下:
1. crontab任务和当前用户直接执行不一样,后者有配置的环境变量,而前者没有(这也是我遇到的问题的关键之处)
因此需要在脚本中加上数据等环境变量(当然你要懒的话,可以把用户下的所有环境变量一起加进去)。
操作步骤:
1.写sh脚本,记得把环境变量加进去。
export
export命令可以显示出当前用户下所有的环境变量,选择你需要的直接copy到sh脚本中

#start
#create temp table
db <<!
select * into tab_wx_temp from tab_device where status=0
go
!

#delete old file create new file
cd /export/home/userdata/
rm -rf wuxi_all.txt
bcp 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值