在 cronjob 中从 bash 脚本运行 JAR

Dou*_*eux 2 bash java cron

由于某种原因,我的 cronjob 无法正常工作:

4 20 * * * /home/ubuntu/db_backup/myScript.sh 1 > /home/ubuntu/db_backup/cron_log.txt
Run Code Online (Sandbox Code Playgroud)

我的 bash 脚本如下所示:

#! /bin/bash
mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > $1.sql
java -jar myJar.jar param1 $1.sql
Run Code Online (Sandbox Code Playgroud)

所以 jar 文件接受 2 个参数,第一个我希望始终相同,第二个来自第一个 bash 参数。在 /var/spool/mail/ubuntu 我看到这个错误:

无法访问 jarfile myJar.jar

我在用户下设置了 crontab:ubuntu

jar 文件的所有者和组是 ubuntu,它的八进制权限为 700。

我究竟做错了什么?

hmo*_*liu 5

尝试使用完整路径:

#! /bin/bash
mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > /path/$1.sql
java -jar /path/myJar.jar param1 /path/$1.sql
Run Code Online (Sandbox Code Playgroud)