出于某种原因,我的cronjob不工作:
4 20 * * * /home/ubuntu/db_backup/myScript.sh 1 > /home/ubuntu/db_backup/cron_log.txt
我的bash脚本如下所示:
#! /bin/bash mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > $1.sql java -jar myJar.jar param1 $1.sql
所以jar文件需要2个参数,第一个我总是要相同的,第二个来自第一个bash参数。 里面/ var / spool / mail / ubuntu我看到这个错误:
无法访问jarfile myJar.jar
我在用户:ubuntu下设置了crontab
jar文件的所有者和组是ubuntu,它具有700的八进制权限。
我究竟做错了什么?
尝试完整path:
#! /bin/bash mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > /path/$1.sql java -jar /path/myJar.jar param1 /path/$1.sql
你应该使用绝对path! 我认为无论是jar文件还是sql文件都不能find…
#! /bin/bash SQLFILE=/path/to/file/$1.sql mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > $SQLFILE java -jar /path/to/myJar.jar param1 $SQLFILE