gpt4 book ai didi

linux - Shellscript 在 cron 作业中不起作用,但可以手动运行

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:37 24 4
gpt4 key购买 nike

我有一个示例 cron,我从 DB2 中的表中导出数据。当我将它包含在 crontab 中时,我的 shellscript 不起作用,但是当手动运行时,它起作用了。 cron 在 crontab 中手动导出文件,但它不会。

我已经尝试包含 echo $path 的输出,但仍然不起作用

#!/bin/bash
rundate=`date "+%y%m%d"`
cd /home/db2inst1/db2inst1/scripts/SQL/output
gzip *.csv
clear
cd /home/db2inst1/db2inst1/scripts/SQL/
export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
db2 "connect to SampleDB user user using sample"

db2 EXPORT TO ./output/Sample_$rundate.csv OF DEL MODIFIED BY NOCHARDEL "SELECT * from SampleTable where MODIFIED_DATE=(CURRENT_DATE -1 DAY)"

手动运行或者使用crontab都没有报错

最佳答案

PATH 是不够的 - 您需要为用户初始化环境,包括一些变量。这些由 $HOME/sqllib/db2profile 设置。我建议添加

. /home/db2inst1/sqllib/db2profile

到你的脚本,看看它是否有效。如果没有,请分享报告的确切错误。

关于linux - Shellscript 在 cron 作业中不起作用,但可以手动运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58164571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com