Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/07/2012, à 18:14

zuric

[Résolu]Commandes après s'être connecté en ssh

Bonjour,
Je souhaiterai envoyer sur mon serveur ssh une commande toute faite qui permet de télécharger un fichier sur le net puis d'envoyer un email lorsque le téléchargement est fini.

Si je me connecte sur mon serveur ssh

ssh eric@XXXXX 

Puis je lance cette commande

nohup wget --output-document=/home/eric/Téléchargements/ubuntu.png "http://design.canonical.com/wp-content/uploads/2011/03/cof_orange_hex1.png" && echo Telechargement termine. | mail -s "test" XXXX@YYYY && exit

Le serveur fait l’opération voulu,
Mais je voudrai supprimer l'étape de connexion au serveur pour finalement rentrer qu'une seule commande, du genre:

ssh eric@XXXX nohup wget --output-document=/home/eric/Téléchargements/ubuntu.png "http://design.canonical.com/wp-content/uploads/2011/03/cof_orange_hex1.png" && echo Telechargement termine. | mail -s "test" XXXX@YYYY && exit

Le serveur télécharge bien le fichier mais n'envoie pas l'email.

Existe-t-il une solution ?
Merci

Dernière modification par zuric (Le 22/07/2012, à 21:22)


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#2 Le 22/07/2012, à 18:17

nesthib

Re : [Résolu]Commandes après s'être connecté en ssh

c'est normal cas les « && » et « | » sont interprétés en local, pas sur le serveur. Tu dois mettre ta commande entre simple guillemets pour que ça fonctionne


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 22/07/2012, à 18:25

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

Merci pour ton aide !

Effectivement ça marche mieux avec des guillemets ^^
Par contre j'ai perdu l'avantage du nohup, je ne peux pas fermer le terminal tant que la commande n'est pas fini

J'ai lancé ça

ssh eric@XXXX "nohup wget --output-document=/home/eric/Téléchargements/ubuntu.png "http://design.canonical.com/wp-content/uploads/2011/03/cof_orange_hex1.png" && echo Telechargement termine. | mail -s "test" XXXX@YYYY && exit"

Dernière modification par zuric (Le 22/07/2012, à 18:36)


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#4 Le 22/07/2012, à 18:28

nesthib

Re : [Résolu]Commandes après s'être connecté en ssh

tu peux mettre un second nohup pour ta commande ssh


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 22/07/2012, à 18:34

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

Je le met où le second nohup ?


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#6 Le 22/07/2012, à 18:54

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

C'est bon ça marche avec cette commande:

ssh eric@XXXX nohup "wget --output-document=/home/eric/Téléchargements/ubuntu.png "http://design.canonical.com/wp-content/uploads/2011/03/cof_orange_hex1.png" && echo Telechargement termine. | mail -s "test" XXXX@YYYY" & exit

Merci pour ton aide !


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#7 Le 22/07/2012, à 19:03

nesthib

Re : [Résolu]Commandes après s'être connecté en ssh

bon ça fonctionne, mais c'est un peu un coup de chance, vu que tu n'utilises que des doubles guillemets.
pour faire propre :

ssh nohup 'commande "argument avec espaces" && commande2 | mail "argument avec espaces" & exit'

(à vérifier)

si cela fonctionne, pense à passer ton sujet en [résolu]


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#8 Le 22/07/2012, à 19:19

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

Ok, ça fonctionne mais j'ai mis la commande exit à l’extérieur sinon l'email n'était pas envoyé

ssh eric@XXXX nohup 'wget --output-document=/home/eric/Téléchargements/ubuntu.png "http://design.canonical.com/wp-content/uploads/2011/03/cof_orange_hex1.png" && echo Telechargement termine. | mail -s "test" XXXX@YYYY' & exit

J’intègre ça dans mon appli, fais un test avec un gros fichier, puis marque le [Résolu] (si ça marche tongue)


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#9 Le 22/07/2012, à 20:11

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

Arf maintenant j'ai un soucis lorsque je lui demande d'enregistrer dans un dossier nommé avec des espaces

Si je lance ça:

ssh eric@XXXXX nohup 'wget --output-document="/media/RAID/Podcasts/Geek\ in/geekinc_131_hd.mp4" "http://media1.nowatch.net/podcast/geekinc/hd/geekinc_131_hd.mp4" && echo Telechargement termine. | mail -s "geekinc_131_hd.mp4" XXXXX@XXXX' & exit

Il me renvoi ça:

/media/RAID/Podcasts/Geek\ in/geekinc_131_hd.mp4: Aucun fichier ou dossier de ce type

Avec la premiere version je n'avais pas ce problème, je pige pas le truc là...


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#10 Le 22/07/2012, à 20:20

nesthib

Re : [Résolu]Commandes après s'être connecté en ssh

si la commande est toujours la même je te conseillerais plutôt de faire un script sur le serveur, qui accepte des paramètres et de lancer :

ssh …@… "/chemin/vers/le/script paramètre ; exit"

un exemple rapide de script :

#!/bin/bash
echo le premier paramètre est "$1"

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#11 Le 22/07/2012, à 20:53

Bousky

Re : [Résolu]Commandes après s'être connecté en ssh

zuric a écrit :

Arf maintenant j'ai un soucis lorsque je lui demande d'enregistrer dans un dossier nommé avec des espaces

Si je lance ça:

ssh eric@XXXXX nohup 'wget --output-document="/media/RAID/Podcasts/Geek\ in/geekinc_131_hd.mp4" "http://media1.nowatch.net/podcast/geekinc/hd/geekinc_131_hd.mp4" && echo Telechargement termine. | mail -s "geekinc_131_hd.mp4" XXXXX@XXXX' & exit

Il me renvoi ça:

/media/RAID/Podcasts/Geek\ in/geekinc_131_hd.mp4: Aucun fichier ou dossier de ce type

Avec la premiere version je n'avais pas ce problème, je pige pas le truc là...

Pour les noms de fichiers avec des espaces, il faut soit des guillemets, soit des échappements :

--output-document=/media/RAID/Podcasts/Geek\ in/geekinc_131_hd.mp4

ou

--output-document="/media/RAID/Podcasts/Geek in/geekinc_131_hd.mp4"

Mieux vaut utiliser les guillemets.

Dernière modification par Bousky (Le 22/07/2012, à 20:53)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#12 Le 22/07/2012, à 21:19

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

J'ai mis les guillemets mais ça ne marche pas
Je vais faire la solution de nesthib, j'ai fais une appli où je renseigne le lien, le nom du fichier et l'emplacement, je vais essayer d'envoyer ces infos sur un script de mon serveur.
Merci pour votre aide !


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#13 Le 22/07/2012, à 22:08

Bousky

Re : [Résolu]Commandes après s'être connecté en ssh

zuric a écrit :

J'ai mis les guillemets mais ça ne marche pas

Tu as écrit quoi exactement ?


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#14 Le 22/07/2012, à 22:28

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

J'ai lancé cette commande

ssh eric@XXXXX nohup 'wget --output-document="/media/RAID/Podcasts/Geek\ in/geekinc_131_hd.mp4" "http://media1.nowatch.net/podcast/geekinc/hd/geekinc_131_hd.mp4" && echo Telechargement termine. | mail -s "geekinc_131_hd.mp4" XXXXX@XXXX' & exit

Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne

#15 Le 22/07/2012, à 23:00

Bousky

Re : [Résolu]Commandes après s'être connecté en ssh

Bousky a écrit :

il faut soit des guillemets, soit des échappements

Si tu mets des guillemets autour du nom de fichier, il ne faut pas mettre de « \ » avant l'espace…


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#16 Le 22/07/2012, à 23:19

zuric

Re : [Résolu]Commandes après s'être connecté en ssh

Effectivement ça marche mieux comme ça big_smile
Merci d'avoir insisté


Principal: MacBook Air 2011 13" i5, Ubuntu 14.04 LTS
NAS/Media center: OSMC + Ubuntu Server 12.04 LTS
Actu sur Ubuntu -> ubuntuser.com

Hors ligne