我需要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以简化脚本。