我有一台带有 smb 地址的服务器,
smb://files.cluster.ins.localnet/
是否可以通过命令行以类似于 scp
或 rsync
的方式(快速)发送文件?
例如,
scp_to_samba folder_to_copy smb://files.cluster.ins.localnet/copied_content_folder/
我还没有找到让
rsync
或 scp
与 Samba 服务器良好配合的方法。尝试使用 smbclient -c
,如此答案中所述:
smbclient //files.cluster.ins.localnet -c 'prompt OFF; recurse ON; lcd folder_to_copy; mkdir copied_content_folder; cd copied_content_folder; mput *'
如果您计划经常与同一台服务器通信并想要类似命令的东西,您可以尝试像这样的bash“脚本”:
#!/bin/bash
# scp_to_samba.sh
smbclient //files.cluster.ins.localnet -W domain -U username \
-c "prompt OFF; recurse ON; lcd $1; mkdir $2; cd $2; mput *"
其中
domain
和 username
是登录服务器所需的任何凭据。用法将是:
./scp_to_samba.sh folder_to_copy copied_content_folder
要从服务器复制回来,您需要切换该命令/脚本中的一些内容并使用
mget
而不是 mput
。
这“快”吗?我不知道。但这非常简单,到目前为止对我来说效果很好。
请参阅 smbclient 手册页了解更多详细信息。
我无法让脚本运行
scp_to_samba.sh
:-( 工具
rsync
似乎也不是正确的选择,
至少我还没有找到合适的建议。
我的印象是最好的前进方法是安装 samba 共享,而不是使用在外部 USB 硬盘驱动器上也能正常工作的工具