2 shjniu3000 shjniu3000 于 2016.03.15 14:57 提问

sqoop导出数据脚本放到 linux定时任务中不执行

功能描述:将hive中的数据到出到mysql。

在linux中,crontab -e中加入定时任务,脚本为test.sh,内容如下:

sqoop export --connect jdbc:mysql://192.168.80.101:3306/test --username root --password root \
--table RST_ERR --export-dir /user/hive/warehouse/test.db/rst_err --input-fields-terminated-by '\001'

该脚本使用 ./test.sh ,这种方式可以执行,数据也可以导出到mysql,
但是 写到定时任务中 "30 14 * * * /home/test.sh",这个脚本就不执行了,求教原因,谢谢 急用

1个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.15 16:15
已采纳

先看test.sh是否被执行,可以打印一下log,然后就是路径相对位置等,你crontab中是绝对路径。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
通过shell脚本做定时任务,用sqoop导出数据
一、shell脚本[plain] view plain copy#!/bin/bash  #coding=UTF-8    #date_year=$(date +%Y)  #echo $date_year  source /etc/profile  for((i=3;i<=8;i++));  do  /opt/sqoop-1.4.6/bin/sqoop import --connect jd...
定时自动执行Sqoop及Hive命令
上一篇文章中介绍了手动输入命令方式,单步执行Sqoop及Hive命令《通过sqoop进行mysql与hive的导入导出》。本文主要介绍通过编写shell命令及定时执行(crontab)方式,定时自动执行Sqoop及Hive命令。
crontab定时hadoop任务没有执行
最近公司要从sqlserver数据库数据大约100G导入到hdfs中,由于数据库在同事的服务器中,为了不影响同事工作,计划晚上自动执行。服务器的定时脚本的时候发现了定时脚本并没有被执行,但是定时比如创建文件夹却可以执行,并且执行了下发现脚本的逻辑是没有问题的,而且直接执行是没有问题的,又去/etc/crontab文件里去看了下 原来是crontab中的环境变量不一样,需要在定时脚本前面加上环境
Linux手动执行脚本可以,但是放到定时任务 crontab 中不执行
在脚本的前面加上下面一句就OK了 source /etc/profile
sqoop导入多条数据到mysql(使用crontab定时任务)
这周做了一个hive的项目,是将hive中的数据使用sqoop导入到mysql中,其中遇到的问题如下: 需要导入多个表的数据入库,需要写多个 sqoop export语句,但是在定时任务执行时,只有第一个能导入成功。 处理方式:36 16 * * * /home/analysis.sh >> /dev/null 2>&1 加上 >> /dev/null 2>&1 就能导出多条。
【sqoop】定时执行shell脚本,sqoop从mysql导出多张表信息到hbase
一、shell脚本 #!/bin/bash #coding=UTF-8 #date_year=$(date +%Y) #echo $date_year source /etc/profile for((i=3;i<=8;i++)); do /opt/sqoop-1.4.6/bin/sqoop import --connect jdbc:mysql://192.168.150.86:3306/a
linux定时任务,手动执行脚本没有问题,放入定时任务不行
环境变量的问题,在脚本中添加下面一行代码即可,参看:http://bbs.chinaunix.net/thread-2291457-1-1.html source /etc/profile
linux 能够手动执行脚本,放在crontab中无法执行
1. 如果是sh脚本: 直接在脚本前面加上: source /etc/profile 2. 如果是python: source /etc/profile && python /mypath/myscript.py ... 原因:crontab 不能自动从用户profile文件中读取环境变量参数。具体解释 如果没有生效,可以重启crontab服务,/etc/init.d/crond res
Crontab定时脚本语句无效,直接执行脚本就可以
昨天写了一个定时脚本,用于每天早上从另外一台机器scp日志,然后对日志进行分析。每当通过secureCRT连接到服务器上直接执行脚本的时候,没有问题。但是当在crontab定时任务中执行该脚本的时候就不能够拉取到日志内容了。 后面找同事问了一下,原因可能如下: (1)是否在脚本中用到了一些环境变量,而该环境变量只有当前用户可用。比如环境变量配置到了.bash_profile中,而通过定
shell脚本直接执行没有问题,crontab定时执行失败的解决方法
crontab 定时执行不生效: 1.环境变量问题 2.执行路径问题 问题2往往可以归结为问题1,即配置环境变量。 1.方法: 在开头部分添加: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin export PATH 注意,没有$,这里shell中默认把变量值当作字符串。 shell变量是