シェルスクリプトで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