小记---------手动执行脚本正常执行,使用crontab定时执行时 不执行
Posted yzqyxq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小记---------手动执行脚本正常执行,使用crontab定时执行时 不执行相关的知识,希望对你有一定的参考价值。
可能出现的原因就是因为crontab不会从用户的/etc/profile文件中读取环境变量,所以就出现 使用定时crontab执行时 无法执行 抛错
所以在使用crontab 定时执行脚本时 在脚本中尽量使用绝对路径,除去全局变量以外
解决方法:
1.
直接把/etc/profile文件中配置的spark的环境变量写到脚本的开头,使它在执行脚本之前先加载spark的环境变量即可
2.直接在脚本中添加即可
#!/bin/bash #此处添加如下 ./etc/profile
num_executors=3
executor_memory=2g
driver_memory=2g
executor_cores=2
realtime_queue=root
# backpressure
receiver_max_rate=100
receiver_initial_rate=30
my_job_name="cron"
main_class="com.df.Crontab_reservation"
spark-submit --master yarn --deploy-mode cluster
--name ${my_job_name}
--class ${main_class}
以上是关于小记---------手动执行脚本正常执行,使用crontab定时执行时 不执行的主要内容,如果未能解决你的问题,请参考以下文章
linux中打包备份脚本,手动执行可以正常打包,使用crontab -e 添加到系统定时任务中执行就无法打包
shell脚本手动执行无问题,放在计划任务里面就不正常了,请大神指教!