在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@远程主机:/远程路径/
示例:
rsync -avz -e ssh /home/user/local_folder user@remote_host:/home/user/remote_folder
增量同步:
rsync
会自动检测并只传输发生变化的文件,因此非常适合增量同步。
scp
命令scp
(Secure Copy Protocol)也可以用于文件传输,但不如rsync
灵活。
基本语法:
scp -r /本地路径/ user@远程主机:/远程路径/
示例:
scp -r /home/user/local_folder user@remote_host:/home/user/remote_folder
sftp
命令sftp
是一个交互式的文件传输程序,可以用于手动同步文件。
连接到远程主机:
sftp user@remote_host
上传文件:
put /本地路径/文件名 /远程路径/
下载文件:
get /远程路径/文件名 /本地路径/
同步目录: 可以手动上传和下载文件来实现同步。
lftp
命令lftp
是一个功能强大的文件传输工具,支持多种协议,包括SFTP。
安装lftp
(如果尚未安装):
sudo apt-get install lftp # Debian/Ubuntu
sudo yum install lftp # CentOS/RHEL
连接到远程主机:
lftp sftp://user@remote_host
同步目录:
mirror --reverse --delete /本地路径/ /远程路径/
unison
工具unison
是一个双向文件同步工具,支持本地到本地、本地到远程以及远程到本地的同步。
安装unison
(如果尚未安装):
sudo apt-get install unison # Debian/Ubuntu
sudo yum install unison # CentOS/RHEL
基本语法:
unison /本地路径/ ssh://user@remote_host//远程路径/
示例:
unison /home/user/local_folder ssh://user@remote_host//home/user/remote_folder
选择适合你需求的方法进行文件同步。rsync
通常是最推荐的选择,因为它提供了强大的增量同步功能和灵活性。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: 如何监控linux cpulimit的效果