サーバーフォルダをマウントせずにLinux BashスクリプトからWindowsにファイルを転送できますか?

サーバーフォルダをマウントせずにLinux BashスクリプトからWindowsにファイルを転送できますか?

ローカルのLinuxシステムからWindowsサーバーにファイルを転送するスクリプト(Bash)を作成しています。 Windowsサーバーに正常に接続可能サンバmount.cifs共有すると、正しいWindows資格情報を持つコマンドを使用してLinuxシステムにフォルダをマウントできます。

各サーバーをあらかじめインストールするのも嫌い、動的インストールも使いたくないのでsudo(スクリプトはルートではなく一般ユーザーとして実行される)、接続できる他の方法があるかどうか知りたいです。サーバー、例えば伝送制御プロトコルパイプまたは同様のもの。

たとえば、Windowsでは、次を使用してサーバーフォルダをドライブ文字にマウントできます。純使用コマンドを実行しますが、次のようにインストールする必要はありません。

c:> net use \\my-server.domain.com passwd123 /user:domain\myuser
c:> cp d:\myfiles.zip \\my-server.domain.com\d$\temp\destination

1つを作成すると、開いているnet use接続を表示できます(文字が割り当てられていません)。

    Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK                     \\myserver.domain.net\IPC$
                                                Microsoft Windows Network
The command completed successfully.

Windows Serverにsshdまたはftpdをインストールしたくありません。ただ使用したい中小企業規約。通常、ファイルをコピーした後、sudo mount.cifs [options] /mnt/temp-folder同様のインストールを実行します。sudo umount /tmp/temp-folder

ベストアンサー1

このsmbclientプログラムを使用すると、WindowsコンピュータにFTPをインストールすることなく、FTPに似たWindowsファイル共有インターフェイスを提供できます。

ここにいくつかの例があります。

ローカル(unix / linux)からWindowsにファイルを転送します。

smbclient //server.domain.org/d$ <password> -W domain.org -U <my-user> -c "put file-local.xml folder1\folder2\file.xml"

WindowsからLinuxへのファイル転送:

2つのオプションがあります。 1つ目は「get」コマンドを使用すること、smbclient2つ目は最も短いオプションですsmbget。 ::

1. smbclient: `smbclient //server.domain.org/d$ <password> -W domain.org -U <my-user> -c "get folder1\folder2\file.xml file-local.xml"`
2. smbget: `smbget -u <my-user> -p <password> -w domain.org -o destination-file.txt smb://server.domain.org/d$/folder1/folder2/source-file.txt`

おすすめ記事