Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/10/2015, à 08:06

Rafeek

[Résolu] Lancer un script avec sudo à l'intérieur

Bonjour,

J'ai fait un script pour sauvegarder mon home. Hors le script n'efface pas tous les fichiers (ceux du Bureau par exemple). En élevant les droit avec sudo -i, ça passe.

Je voudrais tout mettre dans le script : sudo -i + script save_home.

Le problème est qu'après m'avoir demander le mpd sudo, le script s'arrête sur la ligne de commande root@monPc.

Comment faire pour que les lignes suivantes s'exécutent ?

Rafeek a écrit :

sudo -i

REPERTOIRE_SOURCE="/home/"
REPERTOIRE_DESTINATION="/media/raphael/d4ae08e4-2fea-4b19-b693-17d92b584a3a/rsi/"

 
# Détecter la présence du volume de destination et interrompre l'opération si nécessaire
if [ ! -e "$REPERTOIRE_DESTINATION" ]
then
echo "Attention, le disque de sauvegarde n'est pas présent"
exit
fi
 
rsync -a --progress --delete --stats --filter "- .thumbnails/" --filter "- .Trash/" --filter "- *.tmp" --filter "- *.iso" --filter "- lost+found/" --filter "- .cache/" --filter "- .beagle/" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION"
 
echo "La commande de sauvegarde a terminé son travail..."
echo "Vérifiez dans le terminal s'il n'y a pas eu d'erreur !"

sudo -k

echo "Appuyer sur une touche pour fermer la fenêtre..."
read a

Merci pour votre aide

Dernière modification par Rafeek (Le 30/10/2015, à 07:55)


Ubuntu 18.04 LTS 64 bits
Ubuntu 20.04 LTS 64 bits
PrimeTux

Hors ligne

#2 Le 29/10/2015, à 09:09

Postmortem

Re : [Résolu] Lancer un script avec sudo à l'intérieur

Salut,
"sudo -i" c'est pour lancer une session en root.
Donc le script "s'arrête" afin que tu passes des commandes puis, si tu fais "exit", le script continue.
Ce que tu pourrais faire, c'est supprimer les sudo dans ton script et lancer le script avec sudo devant :

sudo /chemin/ton_script.sh

Ou alors, ne pas lancer tout le script avec sudo, mais juste mettre sudo devant la commande "rsync" :

sudo rsync -a --progress --delete --stats --filter "- .thumbnails/" --filter "- .Trash/" --filter "- *.tmp" --filter "- *.iso" --filter "- lost+found/" --filter "- .cache/" --filter "- .beagle/" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION"

Mais comment se fait-il qu'il y a des fichiers sur ton Bureau qui n'appartiennent pas à ton user ?
Parce que normalement, y'a pas besoin des droits root pour sauvegarder son HOME directory.


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 29/10/2015, à 10:16

sergeG75018

Re : [Résolu] Lancer un script avec sudo à l'intérieur

Bonjour.
tu peux creer un lanceur et mettre gksudo /ton/script sur la ligne exec
cela t'ouvrira le boite de dialogue MdP et lancera ton script en root


Ironie, sarcasme ou cynisme? Je ne sais plus

Hors ligne

#4 Le 30/10/2015, à 07:54

Rafeek

Re : [Résolu] Lancer un script avec sudo à l'intérieur

Merci, grâce à vos explications, j'ai réglé mon problème en mettant

Rafeek a écrit :

sudo chmod -R 777 "$REPERTOIRE_DESTINATION"

merci


Ubuntu 18.04 LTS 64 bits
Ubuntu 20.04 LTS 64 bits
PrimeTux

Hors ligne