#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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 )
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
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
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
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
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