Problème de script linux! - Linux et OS Alternatifs
Marsh Posté le 28-07-2005 à 12:02:41
renox a écrit : Salut à tous, j'ai un problème de script, je ne suis pas du tout un pro de linux et j'aimerai savoir si vous pouviez me donner un coup de main! |
A mon avis ton shell script lance ftp, puis la commande ftp attend simplement des ordres... le shellscript ne peut pas "diriger" un autre programme, tu ne peux pas dire à un shell script de "taper des trucs dans ftp" si tu préfères
Marsh Posté le 28-07-2005 à 12:25:37
utilise un .netrc si tu veux automatiser un transfert ftp.
Allez c'est la fête : http://www.linux-france.org/articl [...] -34-2.html
Marsh Posté le 28-07-2005 à 16:11:38
merci pour vos conseils mais je ne comprend pas trop comment faire le .netrc, j'en ai mis un peu partout mais ca ne marche pas il me demande toujours le mot de passe et l'utilisateur... quelqu'un peut me detailler?
merci
Marsh Posté le 28-07-2005 à 16:12:57
man netrc
Xavier_OM > le shell peut 'diriger' ftp, via l'entrée standard
Marsh Posté le 28-07-2005 à 16:29:07
Merci Black Lord mais malheureusement ca ne change rien... quelqu'un peut me dire dans quel répertoire précisement je dois mettre ce fichier???? j'ai tout fait comme sur le lien donné plus haut et bien mais il ne veut rien savoir pourtant mon script est simple:
#!/bin/sh
ftp <<**
open 62.**.***.*
put ../../home/httpd/vhosts/aa1.tgz
bye
d'ailleurs vous pouvez me confirmer que mon put ira chercher le fichier au bon endroit en sachant que mon appli est dans /usr/bin???
c'est vraiment sympa de votre part en tout cas d'aider un pauvre néophite comme moi!
Marsh Posté le 28-07-2005 à 16:32:36
d'ailleurs, il me met ca a chaque fois:
Password:Name (62.***.***.*:root):
Authentication failed, sorry
Login failed.
Marsh Posté le 28-07-2005 à 17:30:38
le .netrc doit se situer dans le home de l'utilisateur qu execute le script.
Donc dans /home/toto tu editue un fichier nommé .netrc et tu y ajoute les informations de connexions de ce type :
machine ftp.chapo.tu login tartampion password 2secret4U!
Ensuite tu te loggues en tant que toto sur ta machine et tu test en faisant un simple ftp ftp.chapo.tu
Cela DOIT utiliser le .netrc et déclancher un logni en tant que tartampion sur ftp.chapo.tu.
Essaie déja cela. Esuite il reste plus qu'a l'intéger au script
Marsh Posté le 28-07-2005 à 17:33:22
merci Phoenix alors le soucis c'est qu'en fait, je suis en root et le script est censé être exécuté dans une crontab... la je t'avoue que je sais plus quoi trop faire, c'est un serveur web distant et j'ai pas forcément trop le droit de faire mumuse avec...
Marsh Posté le 28-07-2005 à 17:35:57
en fait pour résumé j'ai un serveur web avec un axx root et un serveur de sauvegarde accessible uniquement en ftp et je veux faire une routine pour qu'il m'envoie sur mon ftp grâce à un crontab tous les mardi ma sauvegarde! alors pour ma sauvegarde pas de probs, pour le crontab, appeller mon bash pas de problemes non plus mais alors pour le reste... ouile ouille ouille...
Marsh Posté le 28-07-2005 à 17:49:46
Y'a vraiment que FTP sur ton serveur de sauvegarde ?
Je veux pas tout remettre en cause, mais au lieu de ftp, en utilisant SSH se serait + simple et + sécurisé ( genre scp ou rsync)
Si t'as que ftp, tu créée un fichier .netrc dans /root (tu fais un vi /root/.netrc) avec les infos qui vont bien.
Si t'as pas accès à la machine, utilise une machine de test
Marsh Posté le 28-07-2005 à 18:22:22
utiliser la machine en root c'est le mal
Marsh Posté le 29-07-2005 à 11:16:22
renox a écrit : ben c'est ce que j'ai utilisé |
Bah voilà, nickel
J'utilise ça au boulot quand je dois faire des transferts de fichiers.
Marsh Posté le 28-07-2005 à 11:57:52
Salut à tous, j'ai un problème de script, je ne suis pas du tout un pro de linux et j'aimerai savoir si vous pouviez me donner un coup de main!
le voila:
je tar un repertoire et je l'envoie sur un ftp, le truc c'est que ca marche pas, le script je l'ai appelé aa1.sh, j'ai fais un chmod 755 et je l'ai mis dans /usr/bin
#!/bin/bash
tar cfz aa1.tgz /home/httpd/vhosts/monsite.com
ftp open 62.***.***.***
wpc0768 -> mon user
******* -> mon password
mput aa1.tgz
o --> je valide mon mput
close
exit
rm aa1.tgz
o --> je valide mon rm
merci de m'aider, je suis vraiment pas encore très doué...