# [SMBCLIENT] récupérer une arborescence wds sous lnx (validé)

## Shadoweb

Bonjour, 

Sous Gentoo, je dois faire un check de toute une arborescence Windows (1111 dossiers...)

J'ai vu que la commande "tree" sous Windows permettait d'afficher toute l'arborescence en fonction du dossier courant, mais je n'arrive pas à m'en servir avec le smbclient.

```
hostname ~ # smbclient \\\\X.X.X.X\\h$ -U DOMAIN\\login pwd -c "tree"

Domain=[DOMAIN] OS=[Windows Server 2003 R2 3790 Service Pack 2] Server=[Windows Server 2003 R2 5.2]

tree: command not found

hostname ~ #

```

Alors qu'une autre commande comme "dir" fonctionne correctement (et est, comme "tree" spécifique à Windows)

Quelqu'un a-t-il déjà utilisé smbclient pour quelque chose de simillaire ? (ou bien si vous avez tout simplement des propositions pour réaliser ce que je veux  :Smile:  )

Merci d'avanceLast edited by Shadoweb on Thu Sep 09, 2010 12:13 pm; edited 2 times in total

----------

## Picani

C'est peut-être une connerie, mais si la machine Windows a PowerShell d'installé elle peut utiliser les commandes Posix. Par contre, je ne connais pas la commande Posix correspondante pour ton problème ...

----------

## Shadoweb

Le soucis, c'est que je dois réaliser le script sous linux, et que je n'ai droit qu'à la commande smbclient pour lire sur le serveur windows (sauf si j'ai envi d'installer ce qu'il faut pour monter le partage sur ma linux, mais je crois que quand j'avais regardé pour cela, il fallait installer smbfs et donc recompiler le noyau pour prise en charge, donc pas trop envi ! )

Je viens de trouver la liste des commandes utilisables via smbclient (seulement maintenant xD) mais je ne trouve pas beaucoup de liens qui expliquent ce qu'ils permettent de faire =/

EDIT : en fait le man les expliquent xD (il faut vraiment que j'apprenne à lire les docs jusqu'au bout ! )

Ceci-dit, cela ne m'aide pas vraiment plus =/

----------

## versus8

Est-ce que tu as le droit d'utiliser ça ? ^^

Et ce n'est pas la doc qui manque  :Wink: 

Par contre, tu devrais mettre le titre de ton post en conformité aux règles d'usage. La plupart des posts se basent sur ce format :

[THEME] description (état)

Ca facilite la lecture et la recherche   :Very Happy: 

----------

## loopx

Je ne pense pas que tu aura la commande "tree" via smbclient ... C'est un peu comme l'invite commande de "ftp" ... tu as "dir" et "ls" .. mais elles n'ont rien avoir avec les commandes du système... 

Je viens de faire un test (connexion serveur Samba tournant sur Linux) et je n'ai pas tree ... Cela ne m'étonne pas  :Wink: .

Avec smbclient, tu devrais être capable de faire tout ce que tu veux. Mais pour des commandes plus "haut niveau" ... franchement, te fais pas chier et mount la partition direct  :Wink: 

Voici ce que j'ai au boulot dans fstab :

```
//<ip>/lol$ /home/laurent/windows cifs username=<username>,password=<password>,domain=<domaine>,uid=500,gid=500,noperm,noauto 0 0
```

----------

## Shadoweb

Oui, je viens d'aller voir l'équipe développement interne (profitant d'un déplacement chez eux) et ils m'ont montré la commande smbmount qui permet de créer un montage permanent qui m'aidera grandement !

Du coup je devrai m'en sortir plus facilement ^^

Merci

----------

## xaviermiller

En effet, c'est la solution la plus utile   :Wink: 

----------

## davidou2a

Remarque peut etre bete mais et la commande smbtree ?

----------

## xaviermiller

La commande SMBtree donne l'arborescence des share SMB, sans aller plus loin.

La commande "tree" ressemble plus à "find" ou "ls -lR".

----------

## Shadoweb

Effectivement, SMBTREE ne renvoie rien d'intéressant dans mon cas

Par contre, je viens de me prendre un joli  *Quote:*   

> ERROR: smbfs filesystem not supported by the kernel

  avec le SMBMOUNT  :Sad: 

Savez-vous si cela est compliqué à implémenter et combien de temps cela prend ?

(accessoirement, si vous avez dans vos favoris un lien vers une procédure pour Gentoo, je suis preneur :p )

Merci d'avance

----------

## xaviermiller

Si tu as l'habitude, un petit make menuconfig, tu ajoutes le support CIFS (qui est plus récent que SMBFS), tu recompiles, et c'est bon (pas besoin de redémarrer si c'est compilé en module)

----------

## Shadoweb

Bon en fait cette piste est également abandonnée car la machine est en prod et on va éviter de prendre le risque de la planter ^^

Du coup je me suis orienté vers une autre solution : l'ai l'arborescence type découpée dans des fichiers, et j'ai mon windows qui 1 fois par jour récupère les arborescences à checker.

Ensuite mon Gentoo doit récupérer ces fichiers txt et les comparer aux fichiers référence et renvoyer les différences.

Seulement, lorsque je tente de récupérer les fichiers avec smbclient et mget, il me demande de valider la récupération par y, et je cherche comment faire pour que ce soit mon script qui dise ok tout seul mais je ne trouve pas comment faire  :Sad: 

j'ai bien vu qu'on pouvait lire le prompt mais pas trouvé comment le renseigner ... Si vous savez faire je suis preneur  :Surprised: 

----------

## k-root

http://www.nersc.gov/nusers/resources/hpss/hsi/Doc/ch8/mget.html

Interactive prompting can be toggled with the PROMPT command.

----------

## xaviermiller

Ca sent le bricolage, tout çà   :Confused: 

----------

## k-root

 *Shadoweb wrote:*   

> Sous Gentoo, je dois faire un check de toute une arborescence Windows (1111 dossiers...)
> 
> [..]
> 
> Quelqu'un a-t-il déjà utilisé smbclient pour quelque chose de simillaire ? (ou bien si vous avez tout simplement des propositions pour réaliser ce que je veux :) )
> ...

 

ca depend .. c'est quoi un "check" ?

----------

