【Linux】シェルスクリプトでLinux→Windowsへデータコピー


シェルスクリプトでLinux→Windowsへデータをコピー

検証環境

 ・CentOS Linux release 7.6
 ・Windows Server 2019

手順

 1. Linuxにsambaクライアントをインストール

# sambaクライアントがインストールされているか確認
rpm -q samba-client

# sambaクライアントをインストール
yum install -y samba-client

 2. Windowsに共有フォルダを作成
 
 3. Linuxからsmbclientでアクセスしputコマンドでデータをコピー


# sambaでWindowsの共有フォルダにアクセス
#「smb: \>」と表示されればアクセス成功
#「exit」でsamba接続終了
smbclient '\\WindowsのIPアドレス\共有フォルダ名' -U ドメイン名\\ユーザー名%パスワード
smb: \> put Linuxデータパス Windowsに置くときのファイル名
smb: \> exit

使用例


#! /bin/bash
# /var/log配下の.logファイルを全てWindowsの共有フォルダへコピー
for filePath in `find /var/log/*.log`; do

     # -cでputコマンドを送る
        smbclient '\\WindowsのIPアドレスまたはPC名\共有フォルダ名' -U ユーザー名%パスワード -c "put ${filePath}  ${filePath##*/}"  >&1

        # Linux側のデータが不要の場合は削除する
        rm -f $filePath
done