#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 ?
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
sudo chmod -R 777 "$REPERTOIRE_DESTINATION"
merci
Ubuntu 18.04 LTS 64 bits
Ubuntu 20.04 LTS 64 bits
PrimeTux
Hors ligne