使用Linux SFTP(SSH File Transfer Protocol)進行文件同步,可以通過多種方法實現。以下是幾種常見的方法:
rsync命令rsync是一個非常強大的文件同步工具,可以通過SSH進行安全傳輸。
安裝rsync(如果尚未安裝):
sudo apt-get install rsync # Debian/Ubuntu
sudo yum install rsync # CentOS/RHEL
基本同步命令:
rsync -avz -e ssh /本地路徑/ user@遠程主機:/遠程路徑/
解釋:
-a:歸檔模式,表示遞歸傳輸并保持符號鏈接、文件權限、時間戳等。-v:詳細模式,顯示傳輸過程中的詳細信息。-z:壓縮文件數據在傳輸過程中。-e ssh:使用SSH進行加密傳輸。定期同步: 可以將上述命令放入cron作業中,以實現定期同步。
crontab -e
添加一行:
0 * * * * rsync -avz -e ssh /本地路徑/ user@遠程主機:/遠程路徑/
這行命令表示每小時的第0分鐘執行同步。
lftp命令lftp是一個功能強大的文件傳輸工具,支持SFTP、FTP等多種協議。
安裝lftp(如果尚未安裝):
sudo apt-get install lftp # Debian/Ubuntu
sudo yum install lftp # CentOS/RHEL
基本同步命令:
lftp -e 'mirror --reverse --delete /本地路徑/ user@遠程主機:/遠程路徑/; quit'
解釋:
mirror:鏡像目錄。--reverse:反向模式,從本地同步到遠程。--delete:刪除遠程目錄中本地不存在的文件。/本地路徑/:本地目錄路徑。user@遠程主機:/遠程路徑/:遠程主機和目錄路徑。scp命令scp是一個簡單的文件傳輸工具,可以通過SSH進行安全傳輸。
基本同步命令:
scp -r /本地路徑/* user@遠程主機:/遠程路徑/
解釋:
-r:遞歸傳輸目錄及其內容。定期同步: 同樣可以將上述命令放入cron作業中,以實現定期同步。
rsync進行同步,因為它更高效且功能更強大。通過以上方法,你可以使用Linux SFTP實現文件同步。選擇適合你需求的方法進行操作即可。