Linux
複製linux伺服器下的文件夾到windows伺服器
我需要找到一種方法將我的 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
接下來創建密碼文件 /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
如果您需要每天凌晨 1 點進行備份,請像這樣在您的 crontab 中添加一個條目:
0 1 * * * cp /path/to/yourbackup /mnt/win
FTP解決方案: 你可以在你的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 中,就像我們為第一個解決方案所做的一樣。