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 01/09/2017, à 15:06

ledisciple

[Résolu]Script shell - mot de passe

Bonjour

J'annonce la couleur, je suis débutant.
J'ai réussi à écrire ce petit script qui effectue les MAJ, export ma BDD et éteint le PC.

#!/bin/sh
sudo -i apt update && sudo -i apt -y full-upgrade && sudo -i apt autoremove
mysqldump -h localhost -u root -p football >/media/dd_livebox/page_du_www/football.sql
shutdown -P 0

Le truc, c'est qu'il me donne le mot de passe à chaque action. J'aurai voulu savoir s'il y avait une possibilité de le rentrer une fois pour toute au début du script.

Merci d'avance

Dernière modification par ledisciple (Le 26/09/2017, à 14:35)

Hors ligne

#2 Le 01/09/2017, à 15:37

kholo

Re : [Résolu]Script shell - mot de passe

salut
oui,
tu vires les sudo dans le script et tu lances le script avec sudo
et séparer le dump de la base dans un script à part pour ne pas qu'il soit impacté par le sudo.

Dernière modification par kholo (Le 01/09/2017, à 15:38)

Hors ligne

#3 Le 15/09/2017, à 10:58

ledisciple

Re : [Résolu]Script shell - mot de passe

Bonjour

Comme ceci ?

#!/bin/sh
apt update && apt -y full-upgrade && apt autoremove
mysqldump -h localhost -u root -p football >/media/francois@dd_livebox/page_du_www/football.sql

Retour

W: chmod 0700 of directory /var/lib/apt/lists/partial failed - SetupAPTPartialDirectory (1: Opération non permise)
E: Impossible d'ouvrir le fichier verrou /var/lib/apt/lists/lock - open (13: Permission non accordée)
E: Impossible de verrouiller le répertoire /var/lib/apt/lists/
W: Problème de suppression du lien /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission non accordée)
W: Problème de suppression du lien /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission non accordée)

Hors ligne

#4 Le 15/09/2017, à 11:55

Zakhar

Re : [Résolu]Script shell - mot de passe

Je pense que c'est le -i qui fait qu'il te demande à chaque fois, en principe il ne devrait te le demander qu'une fois vu que le réglage standard est 1 fois par 15 minutes (de mémoire)

Aussi, avant de faire le shutdown, un petit "sync" pour t'assurer que les données sont bien écrites ne fera pas de mal, même si shutdown devrait le faire dans (presque) tous les cas !.. (sauf cas notable du shutdown -f ....)
C'est d'autant plus recommandé que d'après le nom de la redirection tu es en train d'écrire sur un volume réseau...

Donc plutôt :

#!/bin/sh
sudo apt update && sudo apt -y full-upgrade && sudo apt autoremove
mysqldump -h localhost -u root -p football >/media/dd_livebox/page_du_www/football.sql
sync
shutdown -P now

Dernière modification par Zakhar (Le 15/09/2017, à 12:02)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#5 Le 15/09/2017, à 12:19

kholo

Re : [Résolu]Script shell - mot de passe

+1 Zakhar

si j'explique mal, tu ne peux pas comprendre bien...
mon idée est de faire deux scripts : un pour la mise à jour, l'autre pour le dump
celui de la mise à jour peut être lancé par cron (donc root, donc pas de sudo)
infos sur cette page
pour le dump, même idée sans les problèmes de sudo

Hors ligne

#6 Le 21/09/2017, à 13:31

ledisciple

Re : [Résolu]Script shell - mot de passe

Zakhar a écrit :

Donc plutôt :

#!/bin/sh
sudo apt update && sudo apt -y full-upgrade && sudo apt autoremove
mysqldump -h localhost -u root -p football >/media/dd_livebox/page_du_www/football.sql
sync
shutdown -P now

Merci pour ton aide, mais il me demande toujours deux fois le mot de passe.
Une fois pour le sudo et une fois pour le dump

Hors ligne

#7 Le 21/09/2017, à 14:48

kholo

Re : [Résolu]Script shell - mot de passe

bon,..

mkdir $HOME/bin

script 1 :

nano $HOME/bin/extinction.sh
#!/bin/bash
sudo $HOME/bin/maj.sh
mysqldump -h localhost -u root -p football >/media/dd_livebox/page_du_www/football.sql
sync
shutdown -P now

ctrl +x puis o puis entrée (pour enregistrer et fermer)

script 2 :

nano $HOME/bin/maj.sh
#!/bin/bash
apt update && apt -y full-upgrade && apt autoremove

ctrl +x puis o puis entrée (pour enregistrer et fermer)

et lancer (depuis le même utilisateur)

./extinction.sh

tu peux aussi journaliser :

./extinction.sh >> extinction.log

NB :

apt update && apt -y full-upgrade && apt autoremove

ATTENTION ; si apt update fini avec une erreur, la mise à jour n'est pas faite
le journal permettra de voir si tout s'est bien déroulé.

shutdown -P now n'a pas besoin de sudo ?
sinon, il y a

systemctl poweroff

Hors ligne