1つのスクリプトを書いています。 1台のLinuxマシンを実行します。そのターゲットには、linux、solaris、windowsが含まれます。
私はscpを使用して* nix間でファイルをコピーできることを知っています。しかし、ウィンドウからファイルをコピーするのはどうですか?
これらのウィンドウはテストマシンであり、OSは頻繁に再インストールできるため、特定のソフトウェアをインストールすることは期待できません。
Samba を使用します。
Sambaは、Windowsと互換性のあるファイル共有サービスを提供します。
Linuxコンピューター上のディレクトリ(たとえば、/srv/samba/sharename
)を共有し、Windowsから\\linuxservername\sharename
のようにアクセスできます。 Windows側で追加のソフトウェアを必要としません。
SambaはほとんどのLinuxディストリビューションに含まれています。たとえば、パッケージマネージャーを使用してインストールします。
Ubuntu:Sudo apt-get install samba smbclient
SUSE:zypper samba
CentOS/RedHat:yum install samba
Sambaを構成するには、以下を参照してください。
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
または、Googleを検索して、ディストリビューションのガイドを見つけます。
Linuxファイアウォールを使用する場合は、ポート137/tcp、138/tcp、139/tcpおよび445/tcpへの接続を受け入れるために、Linuxファイアウォールの構成が必要になる場合があることに注意してください( this および-を参照)。 これ )。
上記の説明では、LinuxコンピューターはSambaサーバーであり、Windowsはそこから共有をマウントします。
以下のコメントで、転送プロセスを自動化することを述べています。これは、Windowsがサーバーとして機能し、Linuxがsmbclient
を使用してサーバーに接続するように役割を逆にすることで実現できます。
smbclient
を使用すると、Windows共有をマウントする必要がまったくありません。たとえば、C:\Directory\file.txt
を取得してLinuxコンピューターの/tmp
にコピーするには、次のようにします。
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
実行するコマンド。詳細は man smbclient
を参照してください。
-U
username%password
として指定された共有にアクセスするためのユーザー名とパスワード
必要に応じて変更し、スクリプトに追加します。
特定のソフトウェアをインストールすることは期待できないとおっしゃっていましたが、Windows用のSSH/SCP/SFTPクライアントがあり、特定のインストールを必要としません。実行可能ファイルのみが利用可能です。私が引き続き注目するのは PuTTY とそのコンパニオンpscp
およびpsftp
ツールですが、代替手段が存在することは確かです。 pscp
およびpsftp
は、コマンドラインから完全に駆動できるため、自動化タスクに最適です。どちらも-batch
「すべてのインタラクティブプロンプトを無効にする」と説明されており、ほぼ確実に利用できます。
おそらくすでにSSH/SCP/SFTPサーバーがインストールされ、サーバーに構成されているため、これらのファイルをコピーする目的でいずれかのホストにソフトウェアをインストールする必要がなくなります。
もう1つの利点は、PuTTYが寛容なライセンスの下でオープンソースであることです。そのため、箱から出してすぐに必要なことを実行できない場合は、比較的簡単に好みの方法で動作させることができます。
私はCentOS 6
ユーザーなので、この方法をCentOS 6
を使用してsambaをインストールする
[root @ server〜]#yum install samba
確認のためのクエリ
[root @ server〜]#rpm -qa samba samba-3.5.10-125.el6.i686
Sambaユーザーを作成します。
[root @ server〜]#useradd sambashare
次に、smbpasswdコマンドを使用して、ユーザー名sambashareのsambaパスワードを作成します。
[root @ server〜]#smbpasswd -a sambashare New SMB password: Retype new SMB =パスワード: ユーザーsambashareを追加しました。
Samba共有ディレクトリを作成する
[root @ server〜]#mkdir/share
共有フォルダの所有権を変更する
[root @ server〜]#chown -R sambashare:sambashare/share /
ファイルを開く/etc/samba/smb.conf
と以下の行を追加します。
[共有] コメント=共有 パス= /share 書き込み可能=はい 有効なユーザー= sambashare
Sambaサービスを開始する
[root @ server〜]#service smb restart シャットダウンSMBサービス:[OK] 開始SMBサービス:[OK]
testparm
コマンドを使用して構成を確認します
。 。 [share] comment = share path = /share valid users = sambashare 読み取り専用=いいえ
Windowsシステムでは、これをrun
に入力します
次に、Sambaのユーザー名とパスワードを入力します
あなたは終わりました