将linux服务器下的一个文件夹复制到windows服务器

我需要find一种方法将我的Debian服务器的每日备份文件夹每周转移到Windows服务器上。 什么是最简单和最稳定的方法来实现呢? 我肯定需要在我的Debian服务器上安装Samba吗?

MS-Windows共享文件夹:您可以在Windows和Linux系统之间共享数据,例如,您可以通过在Linux系统下挂载到/ mnt / win目录来访问名为// windowsserver / sharename的MS-Windows共享。 所以执行这些命令:

mkdir -p /mnt/win mount -t smbfs -o username=winntuser,password=mypassword //windowsserver/sharename /mnt/win 

接下来创build密码文件/ etc / sambapasswords:

 cat > /etc/sambapasswords username = winntuser password = mypassword 

确保只有root可以访问它

 chown root:root /etc/sambapasswords chmod 600 /etc/sambapasswords 

添加一个条目到你的/ etc / fstab:

 //windowserver/share /mnt/win smbfs auto,gid=users,fmask=0664,dmask=0775,iocharset=iso8859-15, credentials=/etc/sambapasswords 0 0 

如果您需要每天在1AM进行备份,请将条目追加到您的crontab中:

 0 1 * * * cp /path/to/yourbackup /mnt/win 

FTP解决scheme:你可以在你的Windows机器上安装一个ftp服务器。 filezilla服务器完成这项工作。 设置一个ftp文件夹和一个具有所有必需权限的帐户。 之后用这个内容设置一个名为〜/ .netrc的文件:

 machine windowserver login ftpuser password ftppassword 

确保只有root可以访问它:

 chown root:root ~/.netrc chmod 600 ~/.netrc 

追加到您的备份脚本这行将远程传输您的备份文件到您的FTP服务器:

 #!/bin/bash filename=yourbackupfile ftp << EOF open windowserver bin verbose prompt cd ${remote_path} put ${filename} bye EOF 

最后把你的备份脚本添加到你的crontab中,就像我们为第一个解决scheme所做的那样

你也可以用rsync来做到这一点。 在Linux机器上build立rsync服务器,并在Windows机器上使用rsync客户机来获取文件。

使用rsync,您将能够恢复中断传输

这是我的脚本为了与我们的窗口服务器沟通。 您需要在Windows窗口中添加共享(即Samba共享):

 #!/bin/sh # Script d'envoi des archives cd /mount directory mount -t cifs //SMB-SHARE share name/ -o username=USER,password=PASSWORD,dir_mode=0777,file_mode=0777 umount share 

另一种方法是使用pscp从putty软件包中将所需的文件从Windows服务器上拉离Linux服务器,

您可以在Windows服务器上设置freeSSHd ,并从Debian服务器编写安全副本
另外考虑设置公共密钥authentication以简化脚本。