web-dev-qa-db-fra.com

Le script sh fonctionne manuellement mais pas via cron

J'ai un travail créé à l'aide de ce tutoriel: http://www.matt-helps.com/automatic-backup-of-mysql-database-to-s3/

Cela fonctionne quand je lance cette commande Sudo sh s3BucketBackupScript.sh

Mais je ne peux pas le faire fonctionner correctement lors de la configuration dans Cron. Le script est moddé avec + x.

Je l'ai configuré en utilisant Sudo crontab -e comme suit:

# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

* * * * * /bin/sh /home/ubuntu/s3BucketBackupScript.sh

mais aucun résultat. Je pense qu'il y a une ligne vide après les lignes .sh. Si j'exécute le script sans Sudo, il ne produit rien. C'est pourquoi je l'ai ajouté à Sudo crontab -e.

Toute allusion serait très appréciée.

1
Guy Hagemans

S'il vous plaît, vérifiez-vous que les autorisations permettent à l'utilisateur d'exécuter cron dans le fichier /etc/cron.allow. si ce n'est pas le cas, vous pouvez créer et ajouter une ligne:

## [root@test]# cat /etc/cron.allow
root
deploy

Après avoir ajouté la ligne ok, vous pouvez redémarrer crond avec la commande suivante:

[root@test test]# service crond restart

Si, après modification, mais que sa commande n’est pas exécutée, vous pouvez peut-être utiliser l’utilisateur root et ajouter un exemple de commande dans crontab -e est:

* * * * * su - [user you must run command] -c "/bin/sh /home/ubuntu/s3BucketBackupScript.sh"

Ajouter une commande ok, vous devez redémarrer crond avec la commande: [root@test test]# service crond restart.

Je pense qu'avec son aide peut-être vous exécuter la commande dans crontab.

0
Tannetto

Veuillez vérifier votre script s3BucketBackupScript.sh et vous assurer qu'aucun chemin relatif n'est indiqué.

CRON d'un utilisateur individuel définit le répertoire de base de l'utilisateur sur PWD.

Cela peut fonctionner manuellement à partir du terminal, car vous étiez dans le répertoire exact pour interpréter correctement les chemins relatifs.

0
Praveen VT