Script shell ftp - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 20-09-2010 à 16:11:59
Le principe c'est d'utiliser un <<EOF
...
EOF
Code :
|
Attention le ftp n'est PAS FIABLE !
Il renvoi un retour 0 sauf en cas d''erreur de connexion, si par exemple le FS est plein et que seul 10% du fichier à été transmis tu auras quand même un beau OK.
Marsh Posté le 20-09-2010 à 19:36:17
Merci pour ta réponse, donc le script devrait resembler a ca:
Code :
|
Marsh Posté le 21-09-2010 à 10:26:26
C'est ça, après rien ne t'empêche de le rendre générique comme tu l'as fait pour l'envoi par mail avec des variables et tout et tout
Marsh Posté le 21-09-2010 à 10:46:32
Bon ca na pas l'air de fonctionner, voila ce que j'ai fait:
Via telnet, création avec vi d'un fichier ftp.sh avec dedans:
#!/bin/sh
ftp -u 0.0.0.0 <<EOF
user login 123456
bin
cd /domains/webcam/public_html/upload
put /var/httpd/netcam.jpg
quit
EOF
Sauvegarde du fichier puis chmod +x ftp.sh
Edition du fichier crontab avec ajout de la ligne: */5 * * * * admin /etc/ftp.sh
j'ai tapé la commande config save dans telnet et enfin un reboot de la camera, et résultat aucuns fichier d'envoyé !!!
Marsh Posté le 21-09-2010 à 10:50:32
Et si tu lançais le script à la main pour voir si y a des erreurs aussi !
Marsh Posté le 21-09-2010 à 10:56:58
j'ai fait un ./ftp.sh via telnet et ca repond: ftp: u: unknown option
Marsh Posté le 21-09-2010 à 11:14:30
Bein voilà
ftp n'a pas l'option -u chez toi
donc, tape "man ftp" pour voir ce qui cloche
Marsh Posté le 21-09-2010 à 11:24:06
ReplyMarsh Posté le 21-09-2010 à 11:28:13
et lorsque je lance le script sans le -u ca donne ca:
ftp.sh
Name (0.0.0.0:admin): Password:
Login incorrect.
Login failed.
?Invalid command
?Ambiguous command
Marsh Posté le 21-09-2010 à 11:45:36
Essayes avec ca:
Code :
|
Marsh Posté le 21-09-2010 à 12:58:38
j'ai essayé ton bout de code je tape sur entrer et le curseur descend d'une ligne et c'est tout par d'autre réaction... et au bout de quelques minutes:
ftp: connect: Connection timed out
Not connected.
Not connected.
Not connected.
Marsh Posté le 21-09-2010 à 13:25:29
En fait tu sais que si tu met un "set -x" en début de fichier (après l'appel au shell) tu auras un joli mode débug
Le principe est normalement le bon après le client FTP que tu utilises doit avoir des options à la con, essai de faire un test ftp à la main pour savoir ce qu'il demande à option
ce qui est entre les 2 EOF est ce que tu aurais normalement tapé comme commandes à la main.
Marsh Posté le 21-09-2010 à 13:29:57
websat a écrit : alors man ftp donne: man not found |
Tu as pas man installé sur ta machine
Mais comment tu fais pour bosser dessus
Marsh Posté le 21-09-2010 à 13:33:15
Hrolf a écrit : En fait tu sais que si tu met un "set -x" en début de fichier (après l'appel au shell) tu auras un joli mode débug |
Ok, merci je teste ça, pour répondre a esox_ch la machine en question est une camera ip...
Marsh Posté le 21-09-2010 à 13:37:50
Tu fais le script sur la camera IP vers le serveur
C'est étrange ça
Je ferais plutôt le contraire moi !
Marsh Posté le 21-09-2010 à 14:16:45
Oui, je pense que je devrait plutôt gérer ca sur le serveur (Kimsufi 250), en fait ce que je voudrait faire:
L'image de la camera est en 1024 x 768 je souhaite rester dans cette résolution car c'est la résolution optimale pour avoir la meilleure qualité d'image, j'utilise un diaporama (pixxerbase.ch) qui fonctionne uniquement avec des images en 640 x 480 et avec un chemin spécifique pour l'archivage des images:
%Y/%m/%d/%H/m12-vga%M.jpg ce qui donne 2010/09/21/14/m12-vga15.jpg
Maintenant je ne sait ce qu'il est possible de faire mais il faudrait un script pour télécharger l'image en 1024 x 768 toutes les 5 minutes, la redimensionner en 640 x 480, créer les répertoires suivent la date et l'heure et placer l'image au bon endroit
Mais peut être le mieux est de trouver un autre diaporama qui pourrai afficher les images archivées sous ce format: 18_09_2010_17_32.jpg car la camera sait envoyer les images de cette maniére.
Marsh Posté le 28-09-2010 à 09:13:21
En fait pour simplifier les choses (en cas de mise a jour de la camera je perds les modifs) le mieux je pense est d'utiliser un script php pour trier les images suivant la date et l'heure voulue, la camera peut nativement uploader les images de cette manière: %d_%m_%Y_%H_%M.jpg. Si quelqu'un connait un tel script...
Marsh Posté le 28-09-2010 à 09:21:51
personne n'a tiqué qu'il faisait un ftp sur 0.0.0.0 ?
Marsh Posté le 28-09-2010 à 09:23:04
ReplyMarsh Posté le 28-09-2010 à 09:31:10
websat a écrit : c'est pour masquer l'ip !!! |
mon dieu
Marsh Posté le 20-09-2010 à 15:57:15
Salut
J'ai une camera ip qui fonctionne sur uclinux, le firmware est assez limité et je voudrait rajouter un upload d'image par ftp, il est possible de rajouter des scripts dans la camera (directement a partir du menu ou via telnet):
J'ai un exemple de script pour l'envoi par email:
#!/bin/sh
MAILTO="name@domain.com"
MAILHOST=domain.com
MAILFROM=name@domain.com
HOSTNAME=domain.com
IMAGEPATH=/var/httpd/netcam.jpg
IMAGE=`basename $IMAGEPATH`
SUBJECT=netcam-`date '+%H:%M:%S'`
/bin/uuencode $IMAGEPATH $IMAGE | /bin/mail -s $SUBJECT -S $MAILHOST -H $HOSTNAME -f $MAILFROM $MAILTO
Voila si quelqu'un pouvait m'indiquer la marche a suivre ou des exemple de script, merci d'avance.
---------------