Linux中crontab调用java时,无法找到java命令,log4j日志无法查看

21 篇文章 1 订阅

首先,在linux中crontab定时执行任务的时候,其环境变量并不是我们登陆用户时的环境变量,所以,我们在crontab定时执行任务的脚本里面,可以加入:

source /etc/profile

或者在脚本中首行:

#!/bin/bash -l

表示以login shell的方式登陆
或者在 /etc/crontab修改对应的环境变量:

# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

java程序log4j日志文件不显示,其实并不是没有显示,而是一般我们设置log4j文件的位置时都是以相对位置,一般会在crontab用户的home目录下面,我们可以在定时任务的执行脚本中执行java之前增加如下:

path=$(cd `dirname $0`;pwd)
cd ${path}

即可解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值