putting file /etc/samba/smb.conf as \testdir\smb.conf (26.0 kb/s) (average 26.0 kb/s)
smb: \testdir\> quit
・Linuxクライアント側でtest.txtを取得したことを確認します。
# ls
test.txt
・WindowsサーバのtestdirフォルダにLinuxクライアントから設置したsmb.confファイルが存在することを確認します。
上記確認後、次の検証のためにtestdir上の「smb.conf」ファイルを削除します。
□バッチ処理でファイル転送
パスワード入力を自動化したうえで、-cオプションに続いて操作コマンドを記述することで、smbclientによるバッチ処理を実現できます。複数の操作コマンドを記述する場合は「;」で区切る為、「'」で囲むのを忘れないように。上記の例と同じ操作をバッチ処理で実行するには以下のようになります。
# smbclient //WINSV2022AD/temp -U aduser01%Passw0rd -c 'dir; get TEST.TXT; cd testdir; put /etc/samba/smb.conf smb.conf; quit'
. D 0 Thu Oct 24 23:49:13 2024
.. DHS 0 Thu Oct 24 23:40:36 2024
test.txt A 19 Thu Oct 24 23:36:46 2024
testdir D 0 Fri Oct 25 00:00:22 2024
12927487 blocks of size 4096. 9922252 blocks available
getting file \TEST.TXT of size 19 as TEST.TXT (3.7 KiloBytes/sec) (average 3.7 KiloBytes/sec)
putting file /etc/samba/smb.conf as \testdir\smb.conf (199.4 kb/s) (average 199.4 kb/s)
・Linuxクライアント側でTEST.TXT を取得したことを確認します。
# ls
TEST.TXT test.txt
・WindowsサーバのtestdirフォルダにLinuxクライアントから設置したsmb.confファイルが存在することを確認します。
◆Windowsマシンのプリンタ共有へ印刷
smbclientではプリンタ共有に対する印刷も出来ます。印刷だけでなく印刷キューの制御も可能です。次の例では¥¥WINSV2022AD¥printerというWindowsマシンのプリンタ共有に対してaduser02がWindowsユーザーとして接続を行い、tiger.psというファイルを印刷します。
# smbclient //WINSV2022AD/printer -c 'print tiger.ps' -U aduser02%Passw0rd
◆smbtarスクリプトによるファイルの一括バックアップ、リストア
smbtarはWindows共有からファイルの一括バックアップ・リストアを実施します。
□smbtarの主なオプション
オプション |
説明 |
-r |
サーバーへのリストアを指定。本オプションが指定されていない場合は
バックアップ設定。 |
-v |
冗長モード |
-u ユーザー名 |
認証時に使用するWindowsユーザー名 |
-p パスワード |
認証時に使用するパスワード |
-s サーバー名 |
接続先のサーバー名 |
-x 共有名 |
接続先の共有名 |
-d フォルダ名 |
バックアップ・リストア対象のフォルダ名 |
-t ファイル名 |
バックアップ先のファイル |
以下はWINSV2022AD サーバーの共有フォルダtempをbackup.tarというファイル名でバックアップを取得しています。
# smbtar -s WINSV2022AD -x temp -u aduser01 -p Passw0rd -t backup.tar
# ls
TEST.TXT backup.tar
◆smbgetコマンドによるファイルの一括転送
smbgetはWindowsマシンの共有フォルダからファイルの一括ダウンロードを実現するコマンド。smbclientでも同様なことが出来ますが、より簡単。
【書式】smbget -R smb://ユーザー名:パスワード@サーバー名/共有名
□smbgetの主なオプション
オプション |
説明 |
-u ユーザー名
--username=ユーザー名 |
認証時に使用するWindowsユーザー名 |
-p パスワード
--password=パスワード |
認証時に使用するパスワード |
-w ドメイン名
--workgroup=ドメイン名 |
認証時に使用するドメイン名 |
-a
guest |
ゲスト認証を指定 |
-R
--recursive |
再起的にファイルを取得 |
【重要】smbclientとsmbgetで同じ意味を表す引数の名称や文法が微妙に異なっているので混同しないように注意。