gnome script scp

Et allez … i’m on fire today !!!

Le principe est simple faire un clic droit/script/CopierSurServer

en gros comment éviter de se prendre la tete avec tout le bataclan de terminal (et root sait que je l’aime …) et de mot de passe et de user … bla bla bla

En Bleu la machine local En rouge la machine distante (server)

# Laissez les choix par default pour la generation des clef
MonUserLocal@MaMachineLocal:~$ ssh-keygen -t dsa
# Entrez une pass phrase un peu rock n rool quand même
MonUserLocal@MaMachineLocal:~$ scp .ssh/id_dsa.pub MonUserDistant@MaMachineDistante:~/.ssh/authorized_keys
# Entrez pour l'avant dernière fois votre mot de passe de votre server
id_dsa.pub 100% 609 0.6KB/s 00:00
MonUserLocal@MaMachineLocal:~$ ssh MaMachineDistante
# Entrez pour l'avant dernière fois votre mot de passe de votre server
MonUserDistant@MaMachineDistante:~$ chmod 0600 ~/.ssh/authorized_keys
MonUserDistant@MaMachineDistante:~$ exit

MonUserLocal@MaMachineLocal:~$ scp -B Desktop/Fic_test.Tar.bz2 \ MonUserDistant@MaMachineDistante:~/

Maintenant on va passer au script :

Sur votre machine locale créez vous un nouveaux fichiers dans

~/.gnome2/nautilus-scripts/Scp2Server

et entrez ses quelques lignes :

!/bin/bash
#
Date=`date +%s`_ScpGnome
UserDistant=MonUserDistant
ServerDistant=AdressIPouNomDNS
RepDistant=PathCompleDeMonRepertoireDistant

for FicAndDir in `echo $*`
do
scp -rv -B "${FicAndDir}" "${UserDistant}"@"${ServerDistant}":${RepDistant}
Test=${?}
if [[ "${Test}" == "1" ]]
then
echo "${FicAndDir} -> Failed" >> /tmp/${Date}
if [[ ! -z `which zenity` ]]
then
zenity --error --text="Impossible de copier sur le server distant le fichier ${FicAndDir} "
fi
else
echo "${FicAndDir} -> Success" >> /tmp/${Date}
fi
done
if [[ ! -z `which zenity` ]]
then
if [[ -z `cat /tmp/${Date} | grep Failed"` ]]
then
zenity --info --text="La copie de tous les fichiers vers le server est terminé"
else
zenity --notification --window-icon="info" --text="Un ou plusieurs fichiers n'ont pas pu être copié. Regardez le log : /tmp/${Date} "
fi
fi
exit

Le plus c’est d’installer zenity (sudo apt-get install zenity) pour vous faire des petits popup 😉

N’oubliez evidement pas de modifier les variable en rouge dans le script … 😉 et de rendre le script executable : chmod 777 …

N’importe quoi … euh pardon PS : Si vous avez compris l’algo vous remarquerez que si le même nom de fichier existe sur le server distant dans le répertoire que vous avez indiqué en variable … ce dernier sera écrasé … Donc Warning !!!!!!!!

Relancez gnome … et here we go !!!