
ローカルの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」コマンドを使用すること、smbclient
2つ目は最も短いオプションです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`
答え2
次のことを試すことができますwput [options] [file]... [url]... ftp://[username[:password]@]hostname[:port][/[path/][file]]
。wget