Tente com caminhos completos:
#! /bin/bash
mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > /path/$1.sql
java -jar /path/myJar.jar param1 /path/$1.sql
Por algum motivo, meu cronjob não está funcionando:
4 20 * * * /home/ubuntu/db_backup/myScript.sh 1 > /home/ubuntu/db_backup/cron_log.txt
E meu script bash é assim:
#! /bin/bash
mysqldump -h anotherhost -P 3306 -u usen -pmypass --all-databases > $1.sql
java -jar myJar.jar param1 $1.sql
Portanto, o arquivo jar aceita dois parâmetros, o primeiro que eu quero sempre ser o mesmo, o segundo vem do primeiro parâmetro bash. Dentro de / var / spool / mail / ubuntu eu vejo este erro:
Não é possível acessar o jarfile myJar.jar
Eu configurei o crontab sob o usuário: ubuntu
proprietário e grupo do arquivo jar é o ubuntu e possui permissões octal de 700.
O que estou fazendo de errado?
Você deve usar caminhos absolutos! Eu acho que nem o arquivo jar nem o arquivo sql podem ser encontrados ...
#! /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