sudo et rsync
Le
Une Bévue

je veux écrire un script de backup utilisant rsync.
Il s'agit de sauvegarder /etc aussi ais-je besoin de faire ça via sudo.
supposons que mon script se nomme "etc2DD"
si je fais :
$ sudo etc2DD
comme etc2DD est dans mon ~/bin, il n'est pas dans le PATH quand je suis
sudoer.
je n'ai pas envie d'entrer :
$HOME/bin/etc2DD
est-ce que je peux mettre le "sudo" dans mon script ?
dans le script, la seule ligne qui a besoin d'être exécutée en tant que
sudoer est celle relative à rsync elle est du genre :
RESULT=$(/usr/bin/rsync blahblahblah)
si je mets à la place :
RESULT=$(sudo -i /usr/bin/rsync blahblahblah)
j'ai une erreur :
aucun fichier ou dossier de ce type : sudo -i /usr/bin/rsync
je ne pige pas.
Il s'agit de sauvegarder /etc aussi ais-je besoin de faire ça via sudo.
supposons que mon script se nomme "etc2DD"
si je fais :
$ sudo etc2DD
comme etc2DD est dans mon ~/bin, il n'est pas dans le PATH quand je suis
sudoer.
je n'ai pas envie d'entrer :
$HOME/bin/etc2DD
est-ce que je peux mettre le "sudo" dans mon script ?
dans le script, la seule ligne qui a besoin d'être exécutée en tant que
sudoer est celle relative à rsync elle est du genre :
RESULT=$(/usr/bin/rsync blahblahblah)
si je mets à la place :
RESULT=$(sudo -i /usr/bin/rsync blahblahblah)
j'ai une erreur :
aucun fichier ou dossier de ce type : sudo -i /usr/bin/rsync
je ne pige pas.
ce n'est pas ce que j'avais fait, en fait, j'avais une var RSYNC='sudo
-i /usr/bin/rsync'
c'est ce que ne marche pas, par contre :
RSYNC=/usr/bin/rsync
puis dans le script :
RESULT=$(sudo -i ${RSYNC} blablahblah)
ça roule as expected...
Avec les apostrophes, tu « échappes » les espaces (et peut-être les /),
donc tu essayes d'appeler la commande sudo_-i_/usr/bin/rsync . Ça
marcherait peut-être avec des guillemets (je ne suis pas très calé en
bash), mais en fait je crois que tu peux même t'en passer complètement
pour définir une variable.
rsync=sudo -i /usr/bin/rsync
Sinon, pour la demande initiale, ça doit se régler dans /etc/sudoers
(secure_path peut-être).
--
LL
oui, c'est vrai, c'était obvié...
oui, mais bon je ne tiens pas trop à y toucher, ma solution me suffit ...