プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2017/10/06

smbclient で Linux から Windows にデータをコピーする

event_note2017/10/06 5:26

Linux(CentOS) のデータを Windows にコピーしたいと思ったのですが、どうやってよいのかわからず、ちょっと調べてみたら、Windows に共有フォルダを作成し、smbclient を使って操作するのが簡単そうだったので、やってみました。

環境

  • CentOS 7
    • samba-client-4.2.10-7.el7_2.x86_64
  • Windows 10 Pro

smbclient でログイン

Linux で以下のコマンドを入力します。
Windows から操作する場合は、TeraTerm などで Linux にログインしてから操作を行います。

> smbclient '\\IPアドレス\フォルダ名' -U ユーザー名

ドメインを指定する場合は、ユーザー名で ドメイン名\\ユーザー名 と入力します。
(\ はエスケープする必要があります。)

フォルダごとコピーする

Linux にあるフォルダを Windows にコピーする場合、以下のように入力します。

> prompt
> recurse
> mput フォルダ名

prompt はファイル名の確認を行うかどうかの設定を切り替えます。
デフォルトではこの設定は ON で、コピーしてよいか都度確認を求められてしまうので、OFF に切り替えています。

recurse はディレクトリを再帰的に辿るかどうかの設定を切り替えます。
デフォルトではこの設定は OFF なので、ON に切り替えて、指定したフォルダ以下のデータを全てコピーするようにしています。

mput は ローカルのデータをサーバーにコピーします。
今は smbclient でアクセスしているので、Linux のデータを Windows にコピーすることになります。

逆に、Windows のデータを Linux にコピーする場合には、mget を使用します。

参考 URL