Creation d'un script bash

Fermé
Assimil - 14 sept. 2007 à 16:11
 Assimil - 17 sept. 2007 à 11:57
Bonjour à tous !

Voilà mon problème :
Je suis sous SuSE Linux 10.1
Je me sert de YaST pour créer une backup automatique de mon système dans le répertoire /backup/archive
et je voudrais automatiser à l'aide d'un script bash les opération suivante :

je vais dans dans le répertoire backup :
cd /backup

je tar le répertoire archive :
tar cvf archive.tar archive/

je crypte de manière symétrique mon archive :
gpg -c archive.tar
[gpg me demande 2 fois le password]

je suprime archive.tar :
rm archive.tar

je me connecte à un serveur FTP :
ftp ftp.monserveur.com
[ftp me demande le nom d'utilisateur et le mot de passe]
put archive.tar.gpg
quit

je suprime archive.tar.gpg
rm archive.tar.gpg

Voilà. J'ai vien essayé un tuc comme ça :

#!/bin/sh
cd /backup
tar cvf archive.tar archive/
gpg -c archive.tar
[mot de passe]
[mot de passe]
rm archive.tar
ftp ftp.monserveur.com
[utilisateur ftp]
[mot de passe ftp]
put archive.tar.gpg
quit
rm archive.tar.gpg




Mais ça ne marche pas vraiment...

Si quelqu'un avait une piste, ça m'aiderais vraiment !

Merci beaucoup !
A voir également:

8 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
14 sept. 2007 à 16:35
Salut,

Regarde du côté de la commande "expect", voir ce thread pour quelques explications et les liens.

;-))
0
Je te remerci, et je voi bien que ça as l'aire de correspondre à ce que je veux, cependant, je n'arrive pas à trouver la page de man de ce truc, ni beaucoup de ressource avec google, donc je n'arrive pas vraiment à m'en dépétrer... ;'-(
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
14 sept. 2007 à 17:49
Ben tous les liens sont dans le topic que je t'ai indiqué.
Le plus pertinent : http://www.oreilly.com/catalog/expect/chapter/ch03.html
La page d'Expect : http://expect.nist.gov/
Des exemples : http://www.linuxlots.com/~barreiro/spain/expect/expect_tut-8.html
0
Ouiiin, c'est tout en anglais :'-(

Enfin, je vais voire ce que je peut faire avec l'outil de traducion de google...
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
17 sept. 2007 à 10:27
Ouiiin, c'est tout en anglais :'-(
C'est pô vrai ça ! Y'en un qui est en Espagnol ;-DDD
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bon, alor avec ce que j'ai put comprendre, j'ai tenté ça (juste une partie de ce que je veux faire, pour voire) :

#!/usr/bin/expect -f

cd /backup

# l'archive archive.tar existe deja
spawn gpg -c archive.tar

expect "Enter passphrase:"

send "test"

expect "Repeat passphrase:"

send "test"


j'ai mit tout ça dans le fichier backtest auquel j'ai appliqué un petit chmod +x

mais quand je test ce fichier, voilà ce que celà donne :
serveur:~ # ./backtest
spawn gpg -c archive.tar
Enter passphrase: serveur:~ #


Pourquoi celà ne marche-t-il pas ?

Merci d'aavnce pour votre aide !
0
Bon, j'ai trouvé une partie du probleme, j'avais juste fais le gros boulet :

#!/usr/bin/expect -f

cd /backup

# l'archive archive.tar existe deja
spawn gpg -c archive.tar

expect "Enter passphrase:"

send "test\r"

expect "Repeat passphrase:"

send "test\r"


Cependant, il reste un gros probleme, je ne sais pas comment capturer la fin du cryptage du fichier : en effet, le script s'arrte quasiment tout de suite apres avoir taper les deux mots de passe, arretant aussi gpg en plein milieu de son action, ce qui fait qu'il n'a pas le tmeps de finir de crypter.

GPG ne fesant aucun retour une fois qu'il à finit (a part rendre la main) je ne sais pas quoi mettre en expect pour capturer la fin du process...

Merci d'avance pour votre aide !
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
17 sept. 2007 à 11:37
Essaye avec "autoexpect" (man autoexpect), ça génère un fichier avec toutes les commandes passées et les phases qui se sont déroulées, c'est bien souvent utiles pour générer le script final...
0
Seper merci, ça m'a permit de savoir qu'il fallait attendre !

Maintenant, j'ai un autre probleme : il semble que expecte se termine tout seul au bout d'un certain temps, cepandant, gpg à besoin de BEAUCOUP plus de temps pour crypter ma grosse archive ! Comment faire pour que expect ne se termine pas tout seul ?
0