Transférer un gros fichier sur un réseau à faible bande passante (WAN)…

Bon, ça arrive ! ile faut parfois transférer de gros fichier à travers un lien réseau de faible débit. Comment faire ?

A base de notre bonne vielle commande ssh et une connexion à peu près stable, on peut s’amuser à passer le fichier dans un tube ssh en le compressant au passage :

ex : cat $file | gzip -9 | ssh $IP_server « gunzip > $file »

C’est ce que je me suis mis à tester. Avec lzop, gzip, bzip2, lzma et ça marche plutôt bien. Aussi, je me suis écris un petit script bash pour faire tout ça :

sendBigFileThruSsh.sh (cliquer sur le lien pour le télécharger)

Exemple d’utilisation :

./sendBigFileThruSsh.sh  -h ip -f ~/Téléchargements/fichier -d /tmp -m yes -c lzma -l -9

Sinon, vous connaissez le meilleur protocole pour envoyer des Terra Octets à l’autre bout de la planète en moins de 24 heures  ? Fedex, UPS, DHL, TNT bien sûr !

Publié dans Bash ! | Commentaires fermés

Un scanner, une imprimante = 1 photocopieuse !

Donc, très utile pour la maison, mon script photocop.sh

#!/bin/bash

# mettre -noprint en argument pour récupérer le fichier Postscript sur le bureau

dpi=300
FILE=/tmp/$RANDOM$RANDOM
FILEPS=/tmp/$RANDOM$RANDOM.ps
scanimage -d plustek –contrast 30 -l 0 -t 0 -p -x 210 -y 297 –mode Gray –resolution ${dpi}dpi  > $FILE
pnmtops -dpi=${dpi}x${dpi} $FILE > $FILEPS
[ -z $1 ] && ( lpr $FILEPS && rm -f $FILE $FILEPS > /dev/null 2>&1 ) || mv $FILEPS ~/Desktop/

Une icône sur le bureau et c’est partie !

Publié dans Divers | Commentaires fermés

Compacter un fichier ! oui, mais vite !

Avec l’aire de multi-coeur, je me suis toujours demandé pourquoi on avait pas de compacteur capable de profiter de multi-coeur (On est sur un calcul EP simple ! on doit avoir un bon speedup). Oui, en clair, on compacte un fichier presque 2 fois plus vite si on a deux processeurs…

Et bien, oui ! ça existe :

gzip parallélisé : pigz

bzip2 parallélisé : pbzip2

On a un speedup quasi linéaire et en plus on a les mêmes options, ça mériterait un :

apt-get install pigz pbzip2

alias gzip=’pigz’

alias bzip2=’pbzip2′

Un seul reproche : pigz ne peut pas sortir le résultat sur stdout.

Publié dans Bash ! | Commentaires fermés

Supprimer les espaces dans des fichiers…

Marre d’avoir des fichiers avec des espaces où des caractères non ascii :

on renomme :

delete_space_file.sh :

#!/bin/bash

find . -type f -name « * * »|while read file
do
echo « $file »
mv « $file » « `echo « $file »| awk ‘BEGIN {OFS= »_ »} $1=$1′` »
done

Ex: ./delete_space_file.sh

Publié dans Bash ! | Marqué avec , , , | Commentaires fermés

Migrer une VM de XenServer à VMware…

Besoin très particulier… mais, qui peut arriver. Comment faire ? sans devoir tout réinstaller ?

Et bien, il vous faut du temps et un logiciel miracle va vous aider : WinImage

Procédure :

  1. Créer une VM linux avec un serveur NFS et de la place disque (2 fois chaque VM).
  2. Monter sous XenServer un répertoire NFS : New Storage -> NFS VHD -> next…
  3. Créer une VM sous WinXP et y installer le logiciel WinImage : DownLoad
  4. Paramétrer sur votre VM Linux NFS un partage SAMBA pour le répertoire déjà exporter en NFS
  5. Monter sur votre VM WinXP un lecteur réseau sur le répertoire SAMBA de la VM linux (qui pointe sur le même répertoire que celui exporté en NFS).
  6. Sous XenCenter : Stopper la VM à migrer et faite ensuite une copie (Full) de votre VM sur le disque NFS (storage NFS).
  7. Une fois la copie effectuée, lancez sous la VM WinXP WinImage et faites : Disk -> convert Virtual Hard Disk Image…->allez chercher votre disque VHD sur votre partage SAMBA (NFS).
  8. Choisir un fichier vmbk (de type disque fin, c’est mieux) en fichier de sortie et lancez.
  9. Prenez un café ! et c’est fini.
  10. Copier votre fichier vmbk sur un vmfs VMware et créer votre VM en attachant ce disque
  11. Enjoy !
  12. Bon ensuite, faut désinstaller les XenTools pour réinstaller les VMwareTools, mais bon, ça se fait. Vous pouvez aussi reprendre les adresses MAC si vous voulez éviter des changements d’IP en DHCP.

Croyez moi, c’est long, mais content d’avoir UNE SOLUTION !

Publié dans Virtualisation | Commentaires fermés

XenServer 5.6 : Faire du backup de VM sans les figer

Sous XenServer, pour faire une sauvegarde complète de la VM, il suffit de faire un :

xe vm-suspend vm=$vm
xe export vm=$vm filename=/path/$vm.xva
xe vm-resume vm=$vm

ça marche, mais on arrête l’activité, du coup, pas si  sympa que ça. L’astuce, c’est de faire un snapshot de la vm et ensuite d’exporter la snapshot et de supprimer ensuite cette snapshot (comme fait VMware…).

Donc, croyant avoir tout inventé, j’ai fait une recherche sur internet et je suis tombé sur un script bien plus abouti que les miens. Aussi, c’est comme ça, je préfère vous indiquer le meilleur chemin :

Aussi sur : http://www.andy-burton.co.uk/blog/index.php/2009-11/updated-citrix-xenserver-5-5-automatic-vm-backup-scripts/

Vous trouverez un super script pour faire tout ça :

Pour tester, vous éditez le fichier : vm_backup.cfg, pour y mettre backup_vms= »list » + « add_to_backup_list=uuid_de_votre_vm_de_test » et vous lancez le script en mode verbeux :

bash -x ./vm_backup.sh

ça marche bien.

Bon, le défaut de script, c’est que s’il se termine pas, il vous laisse des snapshots partout. Mais bon, ça marche bien, le principe est respecté. Penser à faire un script de nettoyage des snapshots hebdomadaire.

Just Enjoy !

Publié dans Virtualisation | Commentaires fermés

Renommer un jpeg avec la date…

Renommer un fichier jpeg en lui préfixant la date de prise. Facile avec jhead :

ex: ./renameJpeg.sh file.jpg

renameJpeg.sh :

#!/bin/bash

file=$1
[ -z $file ] && exit
[ ! -f $file ] && exit
date=$(jhead $file  | grep ‘Date/Time’ | awk ‘{ print $3 }’ | sed -e ‘s;:;;g’)
[ -z $date ] && exit
f=$(basename $file)
final=$(echo $file | sed -e « s;$f;${date}_${f};g »)
[ -z $final ] && exit
echo « mv $file $final »
mv $file $final

Publié dans Outils photo/video | Commentaires fermés

Avoir des informations sur une vidéo mov, avi, mpeg ?….

Avoir les information Exif d’une video ?

Comment faire ? MediaInfo est là !

http://mediainfo.sourceforge.net/fr/Download

après installation :

$mediainfo /local/photos/2011/janvier/20110129_G10_MVI_5978.mov

General
Complete name                    : /local/photos/2011/janvier/20110129_G10_MVI_5978.mov
Format                           : MPEG-4
Format profile                   : QuickTime
Codec ID                         : qt
File size                        : 122 MiB
Duration                         : 1mn 36s
Overall bit rate                 : 10.6 Mbps
Encoded date                     : UTC 2011-01-29 11:49:04
Tagged date                      : UTC 2011-01-29 11:49:04

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : Baseline@L3.1
Format settings, CABAC           : No
Format settings, ReFrames        : 1 frame
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 1mn 36s
Bit rate mode                    : Variable
Bit rate                         : 9 875 Kbps
Width                            : 640 pixels
Height                           : 480 pixels
Display aspect ratio             : 4:3
Frame rate mode                  : Constant
Frame rate                       : 30.000 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 1.072
Stream size                      : 114 MiB (93%)
Language                         : English
Encoded date                     : UTC 2011-01-29 11:49:04
Tagged date                      : UTC 2011-01-29 11:49:04
Color primaries                  : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics         : BT.709-5, BT.1361
Matrix coefficients              : BT.601-6 525, BT.1358 525, BT.1700 NTSC, SMPTE 170M

Audio
ID                               : 2
Format                           : PCM
Format settings, Endianness      : Little
Format settings, Sign            : Signed
Codec ID                         : sowt
Duration                         : 1mn 36s
Bit rate mode                    : Constant
Bit rate                         : 705.6 Kbps
Channel(s)                       : 1 channel
Sampling rate                    : 44.1 KHz
Bit depth                        : 16 bits
Stream size                      : 8.13 MiB (7%)
Language                         : English
Encoded date                     : UTC 2011-01-29 11:49:04
Tagged date                      : UTC 2011-01-29 11:49:04

Impressionnant ! non ?

A quoi s’en servir ? par exemple, pour renommer une vidéo avec la date : ex

rename_avi_with_date.sh :

Continuer la lecture

Publié dans Outils photo/video | Commentaires fermés

Synchronisation de site FTP…

Oui, assez lourd de faire de la synchronisation de répertoires/fichiers avec FTP. Heureusement la puissance de PERL est là !

aller sur http://ossw.ibcl.at/FTPSync/

puis c’est parti : pour synchroniser un répertoire en envoi (put -p):

$ftpsync.pl -p -v /local/photos/toto/ ftp://ftpperso.free.fr/toto ftpuser=login ftppasswd=password

en réception (get: -g):

$ftpsync.pl -g -v ftp://ftpperso.free.fr/toto /home/toto/ ftpuser=login passwd=password

Un outil indispensable.

Publié dans Bash ! | Commentaires fermés

On a filmé à 90° ou à 180°, comment on tourne une video…

Tourner une vidéo, pas aussi simple que pour une photo. Heureusement, mencoder est là.

Içi, j’encode un fichier en entrée pour avoir une vidéo en sortie pour le player Microsoft :

(input fichier.mov ou autre, output fichier.avi).

$apt-get install mencoder #yum install mencoder

$nbtour=1 #rotation à 90°, nbtour=3 pour une rotation à 180°

$vert= »-vf rotate=$nbtour »

$opt= »vbitrate=1500000:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:

dia=2:mv0:last_pred=3″


$mencoder $vert -oac lavc -ovc lavc -lavcopts acodec=wmav2:vcodec=msmpeg4v2:vpass=1:$opt -o /dev/null $input

$mencoder $vert -oac lavc -ovc lavc -lavcopts acodec=wmav2:vcodec=msmpeg4v2:vpass=2:$opt -o $output $input

$[ -f divx2pass.log ] && rm -f divx2pass.log

et hop, voilà une belle vidéo remise à l’endroit.

Publié dans Outils photo/video | Commentaires fermés