Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Creation d'un script bash
Envoyé par: Assimil

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 !


Poste le Friday 14 September 2007 15:14:33
Répondre     Citer    
Re: Creation d'un script bash
Envoyé par: francoisp

tu y etais presque tu as juste oublier un detail.
les commandes du shell tournent dans le shell
les commandes ftp dans ftp
etc....

l'astuce est de faire
commande_avec_sa_propre_interpretation_de_commande << EOT
comande interne
commande interne
commence interne
EOT

ce qui donne :
!/bin/sh[....]
ftp ftp.monserveur.com << EOT
[utilisateur ftp]
[mot de passe ftp]
put archive.tar.gpg
quit
EOT
rm archive.tar.gpg

ou mieux encore :
!/bin/sh[....]
ftp ftp.monserveur.com << EOT
put archive.tar.gpg
quit
EOT
rm archive.tar.gpg

il fait mettre le user et le password dans un fichier .netrc avec les droits 600

pour empecher de montrer en clair les passwords dans un script


Poste le Saturday 15 September 2007 01:52:55
Répondre     Citer    
Re: Creation d'un script bash
Envoyé par: Assimil

Super, merci beaucoup !
Le fichier .netrc, je le met dans le meme répertoire que le script, ou je peut le mettre ailleur ?

Et sinon, comment je fait pour gpg ? je peut aussi mettre le password dans un truc genre .netrc, ou je me contente du EOT (parce que sinon, ça ne marche pas du tout) ?

Merci beaucoup

Poste le Saturday 15 September 2007 16:22:16
Répondre     Citer    
Re: Creation d'un script bash
Envoyé par: Assimil

Bon, je bloque toujour avec GPG... Meme avec le << EOT, ça ne marche pas :-(

Poste le Monday 17 September 2007 10:17:02
Répondre     Citer    
Re: Creation d'un script bash
Envoyé par: Assimil

Bon, j'ai essayé avec le coup du .netrc placé dans mon repertoire utilisateur racine, avec le script que tu me recommande, mais voilà le résultat... je ne sais plus quoi faire !

Le pire, c'est que en plus, apres avoir lancé le script, pour que chaque étape passe à la suivante, il faut encore que j'appui moi meme sur enter !

Wrapper for lftp to simulate compatibility with lukemftp

---- using user `[utilisateur]' and password from ~/.netrc
---- Connecting to [monserveur] ([sonip]) port 21
<--- 220 FTP server ready.
put: Login failed: 530 Login incorrect.
monpc:~/autobackup #

Poste le Monday 17 September 2007 12:40:08
Répondre     Citer    
Re: Creation d'un script bash
Envoyé par: Assimil

En désespoire de cause, je vien de tenter le script que tu m'a donné sans la .netrc, mais voilà le résultat :
Wrapper for lftp to simulate compatibility with lukemftp

Unknown command `[utilisateur ftp]'.
Unknown command `[motdepasse ftp]'.
---- Connecting to [monserveur] ([l'ip de mon serveur]) port 21
<--- 220 FTP server ready.
put: Login failed: 530 Login incorrect.

Je ne sais plus quoi faire...

Poste le Monday 17 September 2007 14:46:52
Répondre     Citer    
Re: Creation d'un script bash
Envoyé par: Assimil

Merci pour votre aide, excusez moi de vous avoir dérangé ^^

Poste le Thursday 20 September 2007 15:50:01
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Creation d'un script bash
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons