Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1549 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [résolu]Script automatisation FTP + execution binaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu]Script automatisation FTP + execution binaire

n°1075238
admin_wind​oz
Posté le 18-09-2008 à 23:33:25  profilanswer
 

Bonjour Mes Amis,
 
Voila , j'ai crée un script pour automatiser un clonage de disque et puis envoie vers un ftp.
 
Ci dessous le script ...
 
J'aimerais avec gzip compressé l'image mais lors de la commande , ci dessous , il ignore complétement gzip et n'execute que la premiere occurence : la commande " dd "
J'ai essayé avec un pipe " | " et autre rien ne fonctionne..
***********************************
ftp -nv 192.168.0.1 <<EOF  
user MonLogin MonPassword
bin
put "|dd if=/dev/hda bs=2048 conv=noerror,sync && gzip -9" "MonImage_Disque_vers_le_ftp.gz"
quit
EOF
***********************************
 
Auriez vous une astuce ?
Merci par avance
Cdt


Message édité par admin_windoz le 21-09-2008 à 20:02:40
mood
Publicité
Posté le 18-09-2008 à 23:33:25  profilanswer
 

n°1075259
Combi_A_Ve​ndre
Posté le 19-09-2008 à 08:30:57  profilanswer
 

Bonjour mon ami,
 
Je pense qu'il te manque l'option -c à gzip pour compresser la sortie standard. Et puis je pense aussi qu'il faut utiliser le pipe plutot que &&.


dd if=/dev/hda bs=2048 conv=noerror,sync | gzip -c > /MonImage_Disque_vers_le_ftp.bz2


vw.


Message édité par Combi_A_Vendre le 19-09-2008 à 08:32:03
n°1075289
admin_wind​oz
Posté le 19-09-2008 à 10:41:04  profilanswer
 

Merci Copin,
Sa marche ...... mais voila , je retrouve le fichier vide sur le FTP
Car comme je disait il zappe quelque chose dans la commande... j'ai l'impression que FTP ne sait pas géré les PIPES ..
 
Car soit je retrouve l'image direct en local , et puis sur le serveur FTP le fichier est vide  
Soit j'utilise pas GZIP et l'image est bien transféré sur le serveur avec une taille de folie ...(j'ai trop besoin de GZIP..)
 
ci dessous le script  
 
ftp -nv 192.168.0.11 <<EOF  
user MonLogin MonPasswd
bin  
put "|dd if=/dev/hda5 bs=2048 conv=noerror,sync | gzip -c > monimage.gz"  
quit
EOF
 
 
Le but étant de transverser directement vers le réseau et surtout ne pas stocker d'abord sur le local pour ensuite transferer....
Sa serait bien de faire un pipe directement vers le ftp.....
 
UNE IDEE ????
 
ci dessous le log
*******************************
Connected to 192.168.0.11.
220-FileZilla Server version 0.9.12 beta
220-written by Tim Kosse (Tim.Kosse@gmx.de)
220 Please visit http://sourceforge.net/projects/filezilla/
Remote system type is UNIX.
331 Password required for install
230 Logged on
Remote system type is UNIX.
200 Type set to I
local: |dd if=/dev/hda5 bs=2048 conv=noerror,sync | gzip -c > /monimage.gz  
remote: |dd if=/dev/hda5 bs=2048 conv=noerror,sync | gzip -c > /monimage.gz  
200 Port command successful
150 Opening data channel for file transfer.
96256 blocks (188Mb) written.
96374+1 records in
96375+0 records out
226 Transfer OK
221 Goodbye
 
*******************************


Message édité par admin_windoz le 19-09-2008 à 11:05:09
n°1075311
fighting_f​alcon
Posté le 19-09-2008 à 11:57:10  profilanswer
 

ton client est un linux ? ton serveur est un linux ?
 
Si oui sftp ...
 
Et la commande magique, sur ton client :
dd .... | gzip -c | sftp user@serveur:/chemin/de/stockage

n°1075319
Combi_A_Ve​ndre
Posté le 19-09-2008 à 12:54:35  profilanswer
 

Et en utilisant plutôt ncftpput?


dd if=/dev/hda5 bs=2048 conv=noerror,sync | gzip -c > monimage.gz |  ncftpput -u login -p password-c 192.168.0.11 ./monimage.gz  


 
remarque là ça doit pas aller, il doit faire le stockage en local. C'est à améliorer.
 
vw

n°1087971
sputnick
bip...bip...bip...bip...bi...b
Posté le 06-11-2008 à 22:14:08  profilanswer
 

Salut,
 
ca tiens en une seule ligne avec le puissant lftp et la puissance des pipes :
 

Code :
  1. dd if=/dev/sda5 bs=2048 conv=noerror,sync | gzip -fc | lftp -u user;passwd domaine.tld -e "put /dev/stdin -o backup.gz; quit"


 
Enjoy ;)

n°1087984
M300A
Posté le 06-11-2008 à 23:41:30  profilanswer
 

Si je peux me permettre une petite remarque:
 
Tu écrase à chaque fois l'image précédente avec une nouvelle...
* Un disque crame orsqu'il travaille beaucoup
* Le disque travaille beaucoup lorsqu'on fait une sauvegarde
=> Le disque crame lorsqu'on fait une sauvegarde
 
C'est vraiment un concept de base. Tu ne peux pas détruire ta sauvegarde précédente AVANT d'avoir terminer la suivante ;)


Message édité par M300A le 06-11-2008 à 23:41:53
n°1088002
sputnick
bip...bip...bip...bip...bi...b
Posté le 07-11-2008 à 00:20:38  profilanswer
 

C'était à titre d'exemple, mais si tu veux, on peux améliorer ça :
( on efface aux bout de 3 semaines )

Code :
  1. #!/bin/bash
  2. # ------------------------------------------------------------------
  3. #
  4. #    Copyright (C) 2007-2008 <gilles DOT quenot AT gmail DOT com>
  5. #
  6. #    This program is free software; you can redistribute it and/or
  7. #    modify it under the terms of version 2 of the GNU General Public
  8. #    License published by the Free Software Foundation.
  9. #
  10. # ------------------------------------------------------------------
  11. ### personnal settings
  12. Device=/dev/sda1
  13. Mymail=me@host.tld
  14. MyFtpHost=FTPhost.tld
  15. MyFtpUserName=me
  16. MyFtpPasswd=passwd
  17. MyFtpFolder=foobar
  18. ###
  19. # script variables
  20. LANG=C
  21. DateNow=$(date +%s)
  22. LogError=${0##*/}_error
  23. Fichier=$(date +backup.%s.%Y%m%d%H%M.gz)
  24. ThreeWeeksAgo=$(date -d '3 weeks ago' +%s)
  25. . /etc/profile
  26. # you can store personnal env in this file
  27. [[ -f ~/.MyEnv ]] && . ~/.MyEnv
  28. trap 'v=$!; echo -e "\nQuitting !"; killall lftp; exit $v' 1 2 3 15
  29. dd if=$Device bs=2048 conv=noerror,sync | \
  30. gzip -fc | \
  31. lftp -u "$MyFtpUserName;$MyFtpPasswd" "$MyFtpHost" -e "put /dev/stdin -o ${Fichier}; quit"
  32. # coded to display messages on stdout is exists
  33. Info()
  34. {
  35. if [[ -t 0 ]]; then
  36.   tput setaf $1
  37.   echo $2
  38.   tput sgr0
  39. fi
  40. }
  41. Info 2 "Hi ${USER}."
  42. TabOfDate=( $(echo $(lftp -c "open -u ${MyFtpUserName:?},${MyFtpPasswd:?} ${MyFtpHost:?}; \
  43.        ls $MyFtpFolder" |
  44.        cut -d'.' -f2))
  45. )
  46. # looking for old archives patterns to delete
  47. c=0
  48. for Match in "${TabOfDate[@]:?}"; do
  49.     if (( Match < ThreeWeeksAgo )); then
  50.         ToDelete[c++]="*$Match*"
  51.     fi
  52. done
  53. # remove old archives with given patterns
  54. (( ${#ToDelete[@]} > 0 )) && {
  55. lftp -c "open -u ${MyFtpUserName:?},${MyFtpPasswd:?} ${MyFtpHost}; \
  56.        cd "$MyFtpFolder"; \
  57.        mrm ${ToDelete[@]}"
  58. }
  59. Info 2 "All done, see ya..."


 
Et les disques, faut bien qu'ils travaillent pour backuper.... Evidement faut pas mettre ça une fois par minutes, mais genre une fois par jour.
On peux creer une purge automatique facilement aussi.


Message édité par sputnick le 07-11-2008 à 03:11:47
n°1088010
sputnick
bip...bip...bip...bip...bi...b
Posté le 07-11-2008 à 03:30:21  profilanswer
 

Le script du dessus n'a pas été testé completement.
 
Il y avait aussi celle là ( testée ) :
 

Code :
  1. dd if=/dev/sda5 bs=2048 conv=noerror,sync | gzip -fc | ssh -l root hote dd of=/tmp/backup.gz


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [résolu]Script automatisation FTP + execution binaire

 

Sujets relatifs
résolu problème carte réseau supplémentaire sous debianProblème de config noyau ?? Kernel panic [Résolu]
ds le noyau, pentium mmx ou pentium m ?? [Résolu]chroot = Illegal instruction [Résolu]
Cherche livecd Linux 32Mo ram, avec mount et tar ! [Résolu]script et ssh sous redhat
execution de grep dans un bash[RESOLU]Mise à jour Dédié Ubuntu (OS, PHP, MySQL, Postfix ...)
Script sous linuxModification de la sortie standard dans un script
Plus de sujets relatifs à : [résolu]Script automatisation FTP + execution binaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR