我有一些主機的在線帳戶,它給我的FTP帳戶用戶名和密碼。如何通過FTP在rsync中複製所有文件
我有另一個copany給了我FTP和rsync。
現在我想通過rync將所有文件從舊FTP傳輸到新FTP。
現在是有可能通過rsync這樣做只是因爲我不想第一臺計算機上覆制,然後再上傳
我有一些主機的在線帳戶,它給我的FTP帳戶用戶名和密碼。如何通過FTP在rsync中複製所有文件
我有另一個copany給了我FTP和rsync。
現在我想通過rync將所有文件從舊FTP傳輸到新FTP。
現在是有可能通過rsync這樣做只是因爲我不想第一臺計算機上覆制,然後再上傳
允許調用本機只有FTP src
。
讓我們用FTP和SSH撥打電話dst
。
ssh dst
cd destination-direction
wget --mirror --ftp-user=username --ftp-password=password\
--no-host-directories ftp://src/pathname/
注意,在命令行上運行--ftp-password
將wget
放棄密碼系統上的任何人。 (除了轉移過來的不清楚線,但你是知道的。)
如果沒有wget
訪問,那麼他們可能有ncftp
或lftp
或ftp
安裝。我只是碰巧知道wget
最好的。 :)
編輯要使用ftp
,你需要做更多的事情,如:
ftp src
user username
pass password
bin
cd /pathname
ls
在這一點上,注意在遠程系統上的所有目錄。用!mkdir
創建每一個。然後在本地和遠程切換到目錄:
lcd <dirname>
cd <dirname>
ls
重複所有目錄。使用mget *
獲取所有文件。
如果這看起來很糟糕,那是因爲它。 FTP並不是爲此設計的,如果你的新主機沒有更好的工具(一定要尋找ncftp
和lftp
,或許就像ftpmirror
),那麼你可以自己編譯更好的工具,或者善於編寫糟糕的工具工具。 :)
或者如果你能在src
上得到一個shell,那也會非常有幫助。 FTP只是不打算傳輸數千個文件。
無論如何,這避免了在本地系統中彈跳,這應該有助於顯着提高吞吐量。
我正在尋找一種簡單的解決方案,通過FTP將遠程文件夾同步到本地文件夾,同時只更換新文件。我被困一點點wget
腳本基礎上的sarnoldanswer,我認爲可能是幫助他人,也因此在這裏它是:
#!/bin/bash
HOST="1.2.3.4"
USER="username"
PASS="password"
LDIR="/path/to/local/dir" # can be empty
RDIR="/path/to/remote/dir" # can be empty
cd $LDIR && \ # only start if the cd was successful
wget \
--continue \ # resume on files that have already been partially transmitted
--mirror \ # --recursive --level=inf --timestamping --no-remove-listing
--no-host-directories \ # don't create 'ftp://src/' folder structure for synced files
--ftp-user=$USER \
--ftp-password=$PASS \
ftp://$HOST/$RDIR
你對一個或兩個主機殼? – sarnold 2011-05-13 03:25:56
我只有一臺主機上的ftp,SFTP,rsync,SCP,其他主機上的SSH – Mahakaal 2011-05-13 03:48:27