Je crée un serveur dans Amazon ec2 et je lui passe un script bash en tant que données utilisateur, qui est exécuté au démarrage initial du serveur. Il comprend une commande pour ajouter une ligne à crontab pour un utilisateur en utilisant la réponse given here.Le script bash fonctionne au démarrage, pas au terminal
directory="/home/intahwebz/current/tools/amazon/"
command="cd $directory && sh backupSQLToS3.sh"
job="15 1 */2 * * $command"
cat <(fgrep -i -v "$command" <(crontab -u intahwebz -l)) <(echo "$job") | crontab -u intahwebz -
Ce script semble fonctionner correctement au démarrage du système car il affiche aucun message d'erreur et le cronjob est installé dans le crotab.
Cependant, j'aimerais aussi que le script s'exécute pendant les mises à niveau du serveur. Tenter d'exécuter le script à partir de la ligne de commande donne l'erreur:
De quoi ai-je besoin pour corriger cette erreur?
Des sons comme votre shell ne supporte pas la syntaxe '<(...)' (puisque ce sont les seuls '(' sur cette ligne) Peut-être que votre shell interactif est différent de celui qui exécute le script au démarrage? –