Aller au contenu

wget: quelques soucis


amplidan

Sujets conseillés

Bonjour tout le monde,

je dois récupérer chaque nuit une série de fichiers sur un serveur ftp distant.

Seulement,

wget ftp://login:pswd_AT_domain.com/dossieratelecharger

il cherche dans le dossier de base défini domain.com/dossierdebase/dossieratélécharger

Comment remonter d'un niveau?

Merci pour votre aide!!

Meilleures saluations

dan

Lien vers le commentaire
Partager sur d’autres sites

Le problème vient probablement que cet utilisateur est cantonné dans son répertoire.

C'est une sécurité (ou fonctionnalité) standard de ftp.

Essaie avec:

wget ftp://login:pswd@domain.com/../dossieratelecharger

Et dis-nous si tu reçois un message d'erreur...

Dan

Lien vers le commentaire
Partager sur d’autres sites

Hello, merci pour ta réponse.

L'utlilisateur est autorisé à remonter d'un niveau. (En tout cas, avec un programme ftp standart je n'ai pas de soucis à remonter, avec le même user.)

Le message d'erreur est assez simple:

[root_AT_SERVEUR root]# wget ftp://user:pswd_AT_www.domain.com/../dossieratelecharger/
--12:06:35--  ftp://user:*password*@www.domain.com/dossieratelecharger
          => `dossieratelecharger'
Résolution de www.domain.com... complété.
Connexion vers www.domain.com[22.22.22.22]:21...connecté.
Session débutant sous user...Session établie!
==> SYST ... complété.    ==> PWD ... complété.
==> TYPE I ... complété.  ==> CWD n'est pas nécessaire.
==> PORT ... complété.    ==> RETR dossieratelecharger ...
Ficher " dossieratelecharger " inexistant.
[root_AT_SERVEUR root]#

J'ai fait aussi en ajoutant *.*:

[root_AT_SERVEUR root]# wget ftp://user:pswd_AT_www.domain.com/../dossieratelecharger/*.*
--12:09:05--  ftp://user:*password*@www.domain.com/dossieratelecharger/*.*
          => `.listing'
Résolution de www.domain.com... complété.
Connexion vers www.domain.com[22.22.22.22]:21...connecté.
Session débutant sous user...Session établie!
==> SYST ... complété.    ==> PWD ... complété.
==> TYPE I ... complété.  ==> CWD /dossierdebase/dossieratelecharger ...
Répertoire " dossieratelecharger " inexistant.

unlink: Aucun fichier ou répertoire de ce type
[root_AT_SERVEUR root]#

Voilà...

J'ai peut-être omis de préciser que c'est un serveur web hébergé chez un provider. Ce qui est appelé "dossierdebase" est le dossier où se trouvent les pages web accédées en http. Celui-ci est au même niveau que celui que je dois télécharger.

Merci pour votre aide!!!

dan

Lien vers le commentaire
Partager sur d’autres sites

Manifestement il ne veut pas le répertoire /../ vu qu'il n'affiche pas le bon répertoire une fois que wget s'exécute.

Une solution est de faire un lien symbolique vers .. dans le répertoire courant.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Un lien symbolique est un peu comparable à un "raccourci" sous windows.

Comme tu es sur hébergement mutualisé, tu devras le réaliser en php.

Par exemple, avec la fonction symlink()

Description

bool symlink ( string target, string link )

symlink() crée un lien symbolique pour l'objet target avec le nom de link.

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Note : Cette fonction n'est pas implémentée sous Windows.

Donc dans le répertoire de ton site web, si dossieratelecharger se trouve un niveau au dessus, tu peux créer un lien avec

symlink("..","up");

Ensuite, pour monter d'un niveau, tu pourras appeler le répertoire "up/dossieratelecharger" au lieu de "../dossieratelecharger"

Dan

Lien vers le commentaire
Partager sur d’autres sites

bon, j'ai essayé, ,mais là il me retourne "dossier "up" inexistant"... Et du coup, j'ai quand même testé le http://www.domain.com et il m'a retourné:

Warning: symlink(): Permission denied in /home/abc/web/index.php on line 1

Je vais essayer de bidouiller un shell... Te tiens au courant...

Lien vers le commentaire
Partager sur d’autres sites

C'est que tu n'as pas les permissions de suivre les liens symboliques.

C'est au niveau du paramétrage apache pour le protocole httpd.

Cela se paramètre au niveau du AllowOverride dans le fichier httpd.conf.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...