質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

4回答

31796閲覧

linuxサーバーからWindowsクライアントへのファイル転送

mashima0037

総合スコア9

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

1クリップ

投稿2017/11/29 23:59

編集2017/11/30 08:02

###前提・実現したいこと

linuxサーバーの中のテキストデータファイルを、会社で使用しているWindowsのフォルダに転送しようとしていますが上手くいきません。
linuxサーバー側でバッチプログラムを作って、WindowsPCに毎日自動転送できるようにしたいのですが、どうすればいいでしょうか?
TeratermやwinSCPを使って手動では転送できています。
linuxサーバーからWindowsPCへテキストデータを送信するコマンドがあれば教えてください。

###発生している問題・エラーメッセージ

smbclientコマンドを使った場合
[mashima@stg ~]$ smbclient '\192.222.111.000\share' -U User01-PC%
Connection to 192.222.111.000 failed (Error NT_STATUS_UNSUCCESSFUL)

ftpコマンドを使った場合
[mashima@stg ~]$ ftp 192.222.111.000
※何も表示されませんでした。Ctrl+Cで解除

###該当のソースコード
smbclient '\192.222.111.000\share' -U User01-PC%
smbclient '\192.222.111.000\share' -U User01-PC
smbclient '\192.222.111.000\share'
※細かい書き方を変えて試してみました。

[mashima@stg ~]$ ftp
ftp> open 192.222.111.000
^C
ftp> open -n 192.222.111.
ftp: -n 192.168.100.118: サーバ名は ai_socktype に対してサポートしていません
ftp> ftp -n 192.168.100.118
?Invalid command

###試したこと
windowsPCに共有ファイルを作成してsmbclientコマンドを使ってみましたが、
Error NT_STATUS_UNSUCCESSFUL
が出るため、アクセスできていない状況です。
ftpコマンドも使おうとしましたが、どのようにコマンドを書けばファイルを転送できるかわかりません。

###補足情報(言語/FW/ツール等のバージョンなど)

teratermを使ってlinuxサーバーにアクセスしています。
シェルスクリプト(bash)を使っています。

###より詳細な情報

自社開発した在庫管理システムを、グループ会社で使用しています。
そのグループ会社での販売管理システムの入替を検討しています。
在庫管理システムはLinuxサーバーで構築したシステムで、マスター・トランのデータもそのサーバー内にあります。
在庫管理システムで作成した納品や入荷のデータを、販売管理システムを使っている経理担当者のWindowsPCに自動転送したいと考えています。
同じグループ会社ですが、私の使用しているPCと経理担当者のPCはネットワークが違います。
上記で試してみたことは、私のWindowsPCでLinuxサーバーにアクセスし、私のWindowsPCに対してファイル転送をした結果です。これができればグループ会社のPCにも転送できるのではないかと思っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2017/11/30 00:40

他のWindowsPCから、net use * \\192.222.111.000\share /user:User01-PC で、接続できていますか?
mashima0037

2017/11/30 01:41

他のWindowsPCから上記コマンドを入力したら接続確認できました。他のWindowsPCからpingを飛ばしても返ってきます。ただし、linuxサーバーからWindowsPCにpingを飛ばしても応答がありません
otn

2017/11/30 02:01

> ただし、linuxサーバーからWindowsPCにpingを飛ばしても応答がありません ←まずはそこからですね。
mashima0037

2017/11/30 02:31

ファイアウォールを無効にしてみたり、施行錯誤しましたがpingは返ってきませんでした。社内LANに繋いでいるWindowsPCなので、外部に置いているlinuxサーバーでは通信できないのでしょうか?
otn

2017/11/30 02:38

Linux機はインターネットの向こうにあると言う事ですか?であれば、いわゆるポート開放的な事が必要です。可否含めネットワーク管理者に相談してください。
mashima0037

2017/11/30 07:25

WindowsPCは社内LANにあり、LinuxサーバーはさくらインターネットのVPSにあります。ポート解放が可能かどうかは相談してみます。ありがとうございました
otn

2017/11/30 08:04 編集

VPN接続でないのであれば、あまり現実的ではないと思います。 今まで通り、内側から外側に取りに行くのが現実的です。
guest

回答4

0

ベストアンサー

windows側から取る方法で他の方法があります。

OpenSSHをWindowsにインストールし、インストールフォルダ内にscp.exeがありますので、そちらを使ってLinuxサーバ側からファイルをコピーできます。

https://dev.classmethod.jp/cloud/aws/aws-windows-sshd/

OpenSSHは下記から入手が可能です。
https://github.com/PowerShell/Win32-OpenSSH

投稿2017/11/30 08:33

gitya107

総合スコア706

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Windows側で共有の設定が正しくできている前提で、
smbclient '\192.222.111.000\share' -U User01-PC
で間違ってないので、ファイアーウォールが邪魔をしているとかじゃないでしょうか。Linux側か、Windows側か、両方か。

ftpコマンドを使うためには、Windows側にftpサーバーが必要です。

投稿2017/11/30 01:18

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mashima0037

2017/11/30 08:08

Linux側とWindows側の両方でファイアウォールを切ってsmbclientをしたのですが、 (Error NT_STATUS_CONNECTION_REFUSED)が出てしまいました。 >ftpコマンドを使うためには、Windows側にftpサーバーが必要です。 これを知らなかったので、Windows側にftpサーバーを作ってみましたが、Linux側からはアクセスできませんでした。
otn

2017/11/30 08:11

質問にコメントした通り、そもそもどんなコマンドを使うか以前に、ネットワーク的に不可能な状態です。 ネットワーク管理者に相談してください。
guest

0

サーバーからクライアントへのデータ転送は、クライアントからの要求がなければ無理ですね。
逆に考えればlinuxをクライアントとしてwindowsをサーバーとする仕組みをつくればいいだけです。
windowsになにか適当なftpdを入れて、linuxからはftpクライアントで接続するのが
簡単かとおもいます。
またもし可能であればwindows側がnfsやrcpのサーバーになる手もあるでしょう。

投稿2017/11/30 00:32

yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Windows側のタスク スケジューラ等で起動して取得する方法では、だめなのでしょうか。
Windows PC → Linux サーバへの接続、ファイル取得はできているようですので、あえて逆方向で構築する必要はなさそうに思います。

投稿2017/11/30 00:07

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mashima0037

2017/11/30 00:43

>suyama様 ありがとうございます。 この件の詳細を説明したいと思います。 自社開発した在庫管理システムを自社内で使用しています。 その在庫管理システムはlinuxサーバー上で稼働しており、それとは別に販売管理システムが社内にあります。在庫管理システムでは納品や入荷情報を作成できるようになっており、その集計データを販売管理システムに渡すことで打ち込みの時間とミスを削減しようと考えております。しかし、社内とは言え物理的距離が離れており、サーバーから販売管理システム使用者(経理担当者)のWindowsPCにデータを飛ばせれば楽だと思っています。 販売管理システム使用者(経理担当者)のPCにlinuxサーバーへアクセスしてもらう方法も考えてはいますが、別のシステムも稼働しているサーバーなので、SE以外がアクセスできる体制は極力避けたいと個人的には思っております。やるとしても集計データ用に別サーバーを立てるなど、事故が起こらない配慮が必要だと思います。それならタスクスケジューラ等も使えるかと また回答していただければ幸いです。
退会済みユーザー

退会済みユーザー

2017/11/30 00:46 編集

それならば、ファイルサーバ等に配置するようにすればよいのではないでしょうか。 個別のPCに配布する必要性はないように感じます。
gitya107

2017/11/30 00:56

その理由であれば担当者のみに送付するというのはシステム上問題があると思います。 担当の休暇、人事による変更変更、PC入れ替え時等々で都度対応が発生するかと。 なので、suyamaさんがおっしゃる通りファイルサーバに配置したり、メーリングリスト宛てにメールで飛ばすなどした方が良いのではないでしょうか。
mashima0037

2017/11/30 08:15

>suyama様、gitya107様 回答ありがとうございます。 経理側もシステム側もそれぞれ担当者が一人なので、休暇やPCの入替は考慮する必要があります。 販売管理システム用のデータはバッチ処理で自動生成できるので、別サーバーまたはファイルサーバに置いて経理担当者に都度ダウンロード等してもらうのが安全な気がします。 現状、WinSCPでのファイル転送は可能なので、その手法が一番現実的です。 ただ、もう少し自動転送がどうにかできないか頑張ってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問