Espace dans 1 script lancé ds 1 cron
Résolu
ixtobilly
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour les amis, j'ai un petit problème dans un script que je veux utiliser pour faire des sauvegarde automatiques. J'utilise la commande "rsync" qui dans sa syntaxe permet de sauvegarder un ou plusiuers répertoires. Dans ce cas, les répertoires sont séparé en mode commande par des espaces: ( ex: rsync -rtpv -a -e 'ssh' root@verisign:'/usr/share/uniclient /usr/share/prgsign' /usr/share )
Le problème, c'est kan je veux mettre cela dans un cron. Il y a un problème d'interprètation des espaces.
Voici mon script, en bas comment puis je l'améliorer pourqu'il fonctionne ?
source=root@verisign
lesrep="/usr/share/prgsign /usr/share/marc /usr/share/phpmyadmin"
destination=/usr/share
fi_log=/root/logs/resultat_cron_programmes.txt
date >> $fi_log
echo ------------------Synchronisation des Programmes----------------- >> $fi_log
/usr/bin/rsync -rtpv -a -e 'ssh' $source:'$lesrep' $destination >> $fi_log
echo ------------------Synchronisation des programmes Terminée--------------------------- >> $fi_log
Le problème, c'est kan je veux mettre cela dans un cron. Il y a un problème d'interprètation des espaces.
Voici mon script, en bas comment puis je l'améliorer pourqu'il fonctionne ?
source=root@verisign
lesrep="/usr/share/prgsign /usr/share/marc /usr/share/phpmyadmin"
destination=/usr/share
fi_log=/root/logs/resultat_cron_programmes.txt
date >> $fi_log
echo ------------------Synchronisation des Programmes----------------- >> $fi_log
/usr/bin/rsync -rtpv -a -e 'ssh' $source:'$lesrep' $destination >> $fi_log
echo ------------------Synchronisation des programmes Terminée--------------------------- >> $fi_log
A voir également:
- Espace dans 1 script lancé ds 1 cron
- Espace insécable - Guide
- Windows ne se lance pas - Guide
- Espace de stockage gmail plein - Guide
- Script vidéo youtube - Guide
- Qu'est ce qui se lance au démarrage de l'ordinateur - Guide
7 réponses
Salut,
Il te faut encadrer tes simples quotes '$lesrep' (qui dans ce cas là empêche l'interprétation de ta variable) par des doubles quotes "'$lesrep'", ou les échapper avec des backslahs \'$lesrep\' :
Il te faut encadrer tes simples quotes '$lesrep' (qui dans ce cas là empêche l'interprétation de ta variable) par des doubles quotes "'$lesrep'", ou les échapper avec des backslahs \'$lesrep\' :
/usr/bin/rsync -rtpv -a -e 'ssh' $source:"'$lesrep'" $destination >> $fi_log /usr/bin/rsync -rtpv -a -e 'ssh' $source:\'$lesrep\' $destination >> $fi_log;-))
J'ai trouvé !
/usr/bin/rsync -rtpv -a -e 'ssh' $source:"''$lesrep''" $destination >> $fi_log
Merci pour ton aide
/usr/bin/rsync -rtpv -a -e 'ssh' $source:"''$lesrep''" $destination >> $fi_log
Merci pour ton aide
C'est quoi l'erreur exacte qui te sort ?
T'as essayé de lancer ton script en mode débogage (set -xv) ?
T'as essayé de lancer ton script en mode débogage (set -xv) ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question