将文件从 Ubuntu 传输到 Windows 服务器

d a*_*s y 6 command-line rsync transfer

我正在使用以下命令将文件从 Ubuntu 传输到 Windows 服务器:

smbclient //server_ip_add/share -U username
Run Code Online (Sandbox Code Playgroud)

我们可以使用rsync将文件从 Ubuntu 传输到 Ubuntu,然后通过创建脚本将其作为 cronjob 运行。是否可以从 Ubuntu 到 Windows 执行所有这些操作?

d a*_*s y 17

我使用MountWindowsSharesPermanently方法通过rsync自动传输文件。

首先,我安装了一个 Windows 共享文件夹(或映射网络驱动器),我想使用以下方法将文件传输到该文件夹​​:

sudo mkdir /media/BACKUP
sudo mount -t cifs -o username=domainusername //ip_add/ShareFolder /media/BACKUP
Run Code Online (Sandbox Code Playgroud)

然后使用 rsync 传输文件:

sudo rsync -azp /path/to/source /media/BACKUP/ShareFolder
Run Code Online (Sandbox Code Playgroud)

创建脚本,使其可执行并安排一个 cronjob。

现在,如果您重新启动系统,它将被卸载。因此,要永久安装它,请执行以下操作:

打开终端并运行:

sudo gedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)

编辑:

//ip_add/ShareFolder /media/BACKUP/ cifs credentials=/home/username/.smbcredentials,iocharset=utf8,gid=1000,uid=1000,file_mode=0777,dir_mode=0777,sec=ntlm 0 0
Run Code Online (Sandbox Code Playgroud)

.smbcredentials是在主目录中创建的凭证文件

要创建它,请运行 gedit ~/.smbcredentials

编辑:

username=domainusername
password=Password
Run Code Online (Sandbox Code Playgroud)

保存并关闭它。

更新:对于 Ubuntu 16.04.3 和 18.04,编辑 vers=1.0

//ip_add/ShareFolder /media/BACKUP/ cifs credentials=/home/username/.smbcredentials,iocharset=utf8,gid=1000,uid=1000,file_mode=0777,dir_mode=0777,vers=1.0,sec=ntlm 0 0
Run Code Online (Sandbox Code Playgroud)