Utilisez Samba.
Samba fournit un service de partage de fichiers compatible avec Windows.
Vous pouvez partager un répertoire (par exemple /srv/samba/sharename
) sur votre ordinateur Linux et accédez-y depuis Windows comme ceci :\\linuxservername\sharename
. Il n'a pas besoin de logiciel supplémentaire du côté Windows.
Samba est inclus dans la plupart des distributions Linux. Installez-le à l'aide du gestionnaire de packages, par exemple :
-
Ubuntu :
sudo apt-get install samba smbclient
-
SUSE :
zypper samba
-
CentOS/RedHat :
yum install samba
Pour configurer Samba, voir :
-
Ubuntu :http://ubuntuforums.org/showthread.php?t=202605
-
SUSE :http://doc.opensuse.org/documentation/html/openSUSE/opensuse-reference/cha.samba.html
-
CentOS/RedHat :http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-samba-configuring.html
ou recherchez Google pour trouver un guide pour votre distribution.
Notez que vous devrez peut-être configurer votre pare-feu Linux, si vous en utilisez un, pour accepter les connexions aux ports 137/tcp, 138/tcp, 139/tcp et 445/tcp (voir ceci et ceci).
Dans la description ci-dessus, l'ordinateur Linux est un serveur Samba et Windows monte un partage à partir de celui-ci.
Dans votre commentaire ci-dessous vous mentionnez que vous souhaitez automatiser le processus de transfert . Ceci peut être réalisé en inversant les rôles afin que Windows agisse en tant que serveur et que Linux s'y connecte en utilisant smbclient
.
Avec smbclient
vous n'avez pas du tout besoin de monter le partage Windows. Par exemple, pour récupérer C:\Directory\file.txt
et copiez-le dans /tmp
sur votre ordinateur Linux, procédez comme suit :
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Commande à exécuter. Voir man smbclient
pour plus de détails.
-U
Nom d'utilisateur et mot de passe pour accéder au partage spécifié comme username%password
Modifiez-le selon vos besoins et ajoutez-le à votre script.
Je sais que vous avez dit que vous ne pouvez pas vous attendre à ce qu'un logiciel spécifique soit installé, mais il existe des clients SSH/SCP/SFTP pour Windows qui ne nécessitent aucune installation particulière ; seul l'exécutable étant disponible. Celui vers lequel je me tourne sans cesse est PuTTY avec son compagnon pscp
et psftp
outils, mais je suis certain que des alternatives existent. pscp
et psftp
peuvent être entièrement pilotés à partir de la ligne de commande et sont donc bien adaptés aux tâches d'automatisation. Les deux ont même un -batch
commutateur qui est décrit comme "désactiver toutes les invites interactives" et qui peut presque certainement être exploité.
Comme vous avez probablement déjà un serveur SSH/SCP/SFTP installé et configuré sur le serveur, cela évite d'avoir à installer un logiciel sur l'un ou l'autre hôte uniquement dans le but de copier ces fichiers.
Un autre avantage pourrait être le fait que PuTTY est open source sous une licence permissive, donc s'il ne fait pas ce que vous voulez tout de suite, il devrait être relativement facile de le faire agir comme vous le souhaitez.