【求助】docker里面的crontab部分不执行,但日志里面显示执行了

jimyokl 2017-07-06 05:15:01
请大神帮忙指点下,先谢谢了。
定时了2个任务,第一个能正常执行,第二个不行,但日志显示都执行了。
crontab实现文件每3分钟拷贝一个文件到相应文件夹;然后应用程序每5分钟读取解析这个文件,把解析的每行数据插入MySQL数据库。
crontab -l:

*/3 * * * * /tmp/cp_file.sh
*/5 * * * * /tmp/aiFileTrans -c /tmp/aiFileTrans.xml

cron日志:

Jul 6 08:57:01 37f8bbce7b38 CROND[718]: (root) CMD (/tmp/cp_file.sh)
Jul 6 09:00:01 37f8bbce7b38 CROND[723]: (root) CMD (/tmp/aiFileTrans -c /tmp/aiFileTrans.xml)
Jul 6 09:00:01 37f8bbce7b38 CROND[724]: (root) CMD (/tmp/cp_file.sh)
Jul 6 09:01:01 37f8bbce7b38 CROND[731]: (root) CMD (run-parts /etc/cron.hourly)
Jul 6 09:01:01 37f8bbce7b38 run-parts(/etc/cron.hourly)[731]: starting 0anacron
Jul 6 09:01:01 37f8bbce7b38 anacron[740]: Anacron started on 2017-07-06
Jul 6 09:01:01 37f8bbce7b38 anacron[740]: Will run job `cron.daily' in 6 min.
Jul 6 09:01:01 37f8bbce7b38 anacron[740]: Will run job `cron.weekly' in 26 min.
Jul 6 09:01:01 37f8bbce7b38 anacron[740]: Will run job `cron.monthly' in 46 min.
Jul 6 09:01:01 37f8bbce7b38 anacron[740]: Jobs will be executed sequentially
Jul 6 09:01:01 37f8bbce7b38 run-parts(/etc/cron.hourly)[742]: finished 0anacron
Jul 6 09:03:01 37f8bbce7b38 CROND[745]: (root) CMD (/tmp/cp_file.sh)
Jul 6 09:05:01 37f8bbce7b38 CROND[748]: (root) CMD (/tmp/aiFileTrans -c /tmp/aiFileTrans.xml)
Jul 6 09:06:01 37f8bbce7b38 CROND[757]: (root) CMD (/tmp/cp_file.sh)
Jul 6 09:07:01 37f8bbce7b38 anacron[740]: Job `cron.daily' started
Jul 6 09:07:01 37f8bbce7b38 run-parts(/etc/cron.daily)[759]: starting logrotate
Jul 6 09:07:01 37f8bbce7b38 run-parts(/etc/cron.daily)[767]: finished logrotate
Jul 6 09:07:01 37f8bbce7b38 anacron[740]: Job `cron.daily' terminated
Jul 6 09:09:01 37f8bbce7b38 CROND[769]: (root) CMD (/tmp/cp_file.sh)

第二个应用程序的日志,显示的时间和docker的时间不一致,但下面的日志都不是crontab完成的,是我之前手动运行的:

2017-07-06 15:15:43 <LL_INFO> ************* aiFileTrans log *************
2017-07-06 15:15:43 <LL_INFO> parsing xml file complete, the config info:
2017-07-06 15:15:43 <LL_INFO> log_path:./aiFileTrans.log
2017-07-06 15:15:43 <LL_INFO> log_level:5
2017-07-06 15:15:43 <LL_INFO> src_path:./testDir
2017-07-06 15:15:43 <LL_INFO> access_dest_path:./aDir
2017-07-06 15:15:43 <LL_INFO> bss_dest_path:./bDir
2017-07-06 15:15:43 <LL_INFO> bak_path:./bakDir
2017-07-06 15:15:43 <LL_INFO> db_user_name:root
2017-07-06 15:15:43 <LL_INFO> db_user_pwd:123456
2017-07-06 15:15:43 <LL_INFO> db_database_name:docker
2017-07-06 15:15:43 <LL_INFO> db_database_ip:172.18.0.2
2017-07-06 15:15:43 <LL_INFO> db_database_port:3306
2017-07-06 15:15:43 <LL_INFO> parsing xml file success.
2017-07-06 15:15:43 <LL_INFO> database connection is OK.
2017-07-06 15:15:43 <LL_INFO> source path:./testDir, accessPath:./aDir, bss/detail Path:./bDir, bakPath:./bakDir
2017-07-06 15:15:43 <LL_INFO> folder:aDir created.
2017-07-06 15:15:43 <LL_INFO> folder:bDir created.
2017-07-06 15:15:43 <LL_INFO> folder:bakDir created.
2017-07-06 15:15:43 <LL_INFO> folder:bakDir/temp created.
2017-07-06 15:15:43 <LL_INFO> ./testDir/d_201708171733_234523.dat(1 line, size:0MB) processed and moved
2017-07-06 15:15:43 <LL_INFO> total cost time38.996201ms.
2017-07-06 16:29:05 <LL_INFO> ************* aiFileTrans log *************
2017-07-06 16:29:05 <LL_INFO> parsing xml file complete, the config info:
2017-07-06 16:29:05 <LL_INFO> log_path:./aiFileTrans.log
2017-07-06 16:29:05 <LL_INFO> log_level:5
2017-07-06 16:29:05 <LL_INFO> src_path:./testDir
2017-07-06 16:29:05 <LL_INFO> access_dest_path:./aDir
2017-07-06 16:29:05 <LL_INFO> bss_dest_path:./bDir
2017-07-06 16:29:05 <LL_INFO> bak_path:./bakDir
2017-07-06 16:29:05 <LL_INFO> db_user_name:root
2017-07-06 16:29:05 <LL_INFO> db_user_pwd:123456
2017-07-06 16:29:05 <LL_INFO> db_database_name:docker
2017-07-06 16:29:05 <LL_INFO> db_database_ip:172.18.0.2
2017-07-06 16:29:05 <LL_INFO> db_database_port:3306
2017-07-06 16:29:05 <LL_INFO> parsing xml file success.
2017-07-06 16:29:05 <LL_INFO> database connection is OK.
2017-07-06 16:29:05 <LL_INFO> source path:./testDir, accessPath:./aDir, bss/detail Path:./bDir, bakPath:./bakDir
2017-07-06 16:29:05 <LL_INFO> ./testDir/d_201708171733_234523.dat(1 line, size:0MB) processed and moved
2017-07-06 16:29:05 <LL_INFO> total cost time59.900293ms.


...全文
626 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimy1 2017-08-06
  • 打赏
  • 举报
回复
推荐百度 sh -c 用法
jimyokl 2017-07-07
  • 打赏
  • 举报
回复
通过导出执行过程,发现报错:cannot execute binary file 然后我把第二个任务写到一个脚本里面,加上了先执行环境变量:

!/bin/bash
. /etc/profile
. ~/.bash_profile
/tmp/aiFileTrans -c /tmp/aiFileTrans.xml
还是不运行第二个crontab任务,请大神指点,先谢谢了
jimyokl 2017-07-07
  • 打赏
  • 举报
回复
还是不运行第二个crontab任务,请大神指点,先谢谢了
jimyokl 2017-07-07
  • 打赏
  • 举报
回复
把第二个任务改为如下后:

*/2 * * * * /tmp/aiFileTrans -c /tmp/aiFileTrans.xml >/root/1.txt 2>&1
/root/1.txt 的内容(报错信息)为:

/tmp/aiFileTrans: /tmp/aiFileTrans: cannot execute binary file
之后我把第二行(第二个任务)写到cp_file3.sh里面,加了运行权限:

*/2 * * * * sh -x /tmp/cp_file3.sh >/root/1.txt 2>&1
/root/1.txt 的内容(报错信息)为(每行加上了编号):

      1 + '!/bin/bash'
      2 /tmp/cp_file3.sh: line 1: !/bin/bash: No such file or directory
      3 + . /etc/profile
      4 ++ '[' -x /usr/bin/id ']'
      5 ++ '[' -z 0 ']'
      6 +++ /usr/bin/id -un
      7 ++ USER=root
      8 ++ LOGNAME=root
      9 ++ MAIL=/var/spool/mail/root
     10 ++ '[' 0 = 0 ']'
     11 ++ pathmunge /sbin
     12 ++ case ":${PATH}:" in
     13 ++ '[' '' = after ']'
     14 ++ PATH=/sbin:/usr/bin:/bin
     15 ++ pathmunge /usr/sbin
     16 ++ case ":${PATH}:" in
     17 ++ '[' '' = after ']'
     18 ++ PATH=/usr/sbin:/sbin:/usr/bin:/bin
     19 ++ pathmunge /usr/local/sbin
     20 ++ case ":${PATH}:" in
     21 ++ '[' '' = after ']'
     22 ++ PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin
     23 +++ /bin/hostname
     24 ++ HOSTNAME=37f8bbce7b38
     25 ++ HISTSIZE=1000
     26 ++ '[' '' = ignorespace ']'
     27 ++ export HISTCONTROL=ignoredups
     28 ++ HISTCONTROL=ignoredups
     29 ++ export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
     30 ++ '[' 0 -gt 199 ']'
     31 ++ umask 022
     32 ++ for i in '/etc/profile.d/*.sh'
     33 ++ '[' -r /etc/profile.d/colorls.sh ']'
     34 ++ '[' hxB '!=' hxB ']'
     35 ++ . /etc/profile.d/colorls.sh
     36 ++ for i in '/etc/profile.d/*.sh'
     37 ++ '[' -r /etc/profile.d/glib2.sh ']'
     38 ++ '[' hxB '!=' hxB ']'
     39 ++ . /etc/profile.d/glib2.sh
     40 ++ for i in '/etc/profile.d/*.sh'
     41 ++ '[' -r /etc/profile.d/lang.sh ']'
     42 ++ '[' hxB '!=' hxB ']'
     43 ++ . /etc/profile.d/lang.sh
     44 ++ for i in '/etc/profile.d/*.sh'
     45 ++ '[' -r /etc/profile.d/less.sh ']'
     46 ++ '[' hxB '!=' hxB ']'
     47 ++ . /etc/profile.d/less.sh
     48 ++ unset i
     49 ++ unset -f pathmunge
     50 + . /root/.bash_profile
     51 ++ '[' -f /root/.bashrc ']'
     52 ++ . /root/.bashrc
     53 +++ alias 'rm=rm -i'
     54 +++ alias 'cp=cp -i'
     55 +++ alias 'mv=mv -i'
     56 +++ '[' -f /etc/bashrc ']'
	 57 +++ . /etc/bashrc
     58 ++++ '[' '' ']'
     59 ++++ shopt -q login_shell
     60 ++++ '[' 0 -gt 199 ']'
     61 ++++ umask 022
     62 ++++ for i in '/etc/profile.d/*.sh'
     63 ++++ '[' -r /etc/profile.d/colorls.sh ']'
     64 ++++ '[' '' ']'
     65 ++++ . /etc/profile.d/colorls.sh
     66 ++++ for i in '/etc/profile.d/*.sh'
     67 ++++ '[' -r /etc/profile.d/glib2.sh ']'
     68 ++++ '[' '' ']'
     69 ++++ . /etc/profile.d/glib2.sh
     70 ++++ for i in '/etc/profile.d/*.sh'
     71 ++++ '[' -r /etc/profile.d/lang.sh ']'
     72 ++++ '[' '' ']'
     73 ++++ . /etc/profile.d/lang.sh
     74 ++++ for i in '/etc/profile.d/*.sh'
     75 ++++ '[' -r /etc/profile.d/less.sh ']'
     76 ++++ '[' '' ']'
     77 ++++ . /etc/profile.d/less.sh
     78 ++++ unset i
     79 ++++ unset pathmunge
     80 ++ PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin:/root/bin
     81 ++ export PATH
     82 + /tmp/aiFileTrans -c /tmp/aiFileTrans.xml

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧