[英]Automatically copying files from a Linux machine to a Windows machine
我需要每天自動將文件從linux機器復制到Windows機器。
我正在尋找像scp,rsync,sftp這樣簡單安全的東西。 不幸的是,我不知道如何在Windows機器上設置它。
有誰知道如何做到這一點?
您可以嘗試使用smbfs將Windows驅動器作為掛載點安裝在Linux計算機上; 然后,您就可以使用普通的Linux腳本和復制工具(如cron和scp / rsync)進行復制。
你可以在cygwin中找到windows的rsync,你可以在windows框上設置一個rsync服務器,然后在linux機器上運行一個cron作業,將所有文件運行到windows機器上。 我們曾經這樣做,它運作良好。
“我無法在Windows機器上進行設置。” Windows是客戶端還是服務器? 虧本意味着什么,特別是? 你不能做什么?
“linux機器到windows”可以通過兩種方式完成。
Linux是客戶端。 Windows運行FTP或SCP或SSH服務器。 Linux有一個客戶端並將文件推送到Windows。 查看FileZilla免費的Windows FTP服務器。 此外,Windows通常有一個關閉的FTP服務。 打開它。
Windows是客戶端。 Windows定期從Linux服務器提取文件。 這更容易,因為Linux已經擁有所有必需的服務器。 不管怎么說,你需要在Linux上啟動它們。
Windows上有很多sftp,scp客戶端。 Windows附帶一個ftp客戶端。 谷歌的sftp客戶端。 您將找到WinSCP , Putty , filezilla和sftp客戶端列表免費國家/地區列表。
我好幾年沒用過了,但你可以試試http://www.cis.upenn.edu/~bcpierce/unison/的 Unison
它可以使用'smbclient'來完成,它的行為很像FTP客戶端到Windows共享。 查看聯機幫助頁: man smbclient
並查找使用-c
選項編寫腳本的方法,或者man expect
驅動它。
這是我可能會這樣做的方式:
mkdir /mnt/sharename
編輯/ etc / fstab文件並添加類似這樣的條目。 用您的用戶ID替換用戶ID 500。 用您的Windows共享名稱替換sharename。 用您的主機名或IP地址替換WINDOWSHOSTNAME。 如果您不知道共享,請運行smbclient -L WINDOWSHOSTNAME
。
//WINDOWSHOSTNAME/sharename /mnt/sharename cifs credentials=/root/smblogin,uid=500,noauto,user 0 0
編輯/ root / smblogin並在其中添加以下兩行
username=YOUR_WINDOWS_USERNAME
password=YOUR_WINDOWS_PASSWOD
以步驟1中的用戶身份登錄。
mount /mnt/sharename
如果成功,則編寫腳本以自動執行。 我們稱之為'backup.sh':
#!/bin/sh
df | grep -q /mnt/sharename
if test $? -ne 0 ; then
mount /mnt/sharename
fi
cp -r /path/to/dir /mnt/sharename/destination/
使用cron運行腳本。
crontab -e
PATH=/bin:/usr/bin
# Backup at 2:15 AM every day. Run 'man 5 crontab' for help on the time format
15 2 * * * /path/to/backup.sh
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.