CentOS下crontab执行java程序

阿里云CentOS收不到邮件

在crontab里配置执行脚本,脚本用来执行java程序,死活不执行。单独执行脚本可以运行。

查看crontab的日志文件,/var/log/cron,发现没有收到cron执行的mail,说:

" fatal: parameter inet_interfaces: no local interface found for ::1"

猜测是网卡的问题,百度之后发现是ipv6的鬼。修改方法:

修改/etc/postfix/main.cf,注释掉 inet_interfaces = all,重启服务 systemctl restart postfix

重新配置执行crontab,虽然java程序还是不能达到预期效果,但是至少是被执行了的,在/var/spool/mail/root中看到了错误信息。或者也可以通过在脚本中指定错误输出:

java -jar your_jar.jar >> /tmp/your_log 2>&1

java程序的配置

有人说是环境变量的问题,先是各种export,比如JAVA_HOME, CLASSPATH, PATH;后来索性有人说,一句source ~/.bash_rc就可以了;最后查看mail文件发现,java程序中写入文件失败,提示找不到路径。

TMD,crontab太傻X了,为何要让我的java程序中也写绝对路径?

参考:http://blog.sina.com.cn/s/blog_4b6f4d2f0100eogj.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是 CentOS7 上利用 crontab 定时执行 Python 脚本的详细流程: 1. 编写 Python 脚本 在你的 CentOS7 中,打开一个文本编辑器,比如 vim,然后编写一个 Python 脚本,比如: ```python #!/usr/bin/env python3 print("Hello, world!") ``` 保存并退出。 2. 给 Python 脚本添加执行权限 在终端中,运行以下命令,给 Python 脚本添加执行权限: ```bash chmod +x /path/to/your/python/script.py ``` 3. 打开 crontab 编辑器 在终端中,运行以下命令,打开 crontab 编辑器: ```bash crontab -e ``` 4. 编写 crontab 定时任务 在 crontab 编辑器中,编写以下内容: ``` * * * * * /path/to/your/python/script.py > /dev/null 2>&1 ``` 其中,`* * * * *` 表示每分钟都执行一次,你可以根据自己的需求修改。`/path/to/your/python/script.py` 是你的 Python 脚本的路径,记得用实际路径替换。`> /dev/null 2>&1` 表示将输出重定向到空设备,避免产生无用的输出信息。 5. 保存并退出 crontab 编辑器 在 crontab 编辑器中,按下 `Ctrl` + `X`,然后输入 `Y`,最后按下 `Enter` 保存并退出。 6. 查看 crontab 任务 在终端中,运行以下命令,查看当前用户的 crontab 任务: ```bash crontab -l ``` 你应该能看到你刚刚添加的 crontab 任务。 7. 检查定时任务是否执行 等待一分钟左右,然后查看你的 Python 脚本是否被执行。你可以在 Python 脚本中添加一些输出语句,方便你检查是否执行成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值