使用Linux SFTP進行文件同步,通常涉及以下幾個步驟:
大多數Linux發行版默認已經安裝了SFTP客戶端。如果沒有,可以使用以下命令安裝:
sudo apt-get install openssh-client # Debian/Ubuntu
sudo yum install openssh-clients # CentOS/RHEL
使用SFTP連接到遠程服務器:
sftp username@remote_host
輸入密碼后,你將進入SFTP交互模式。
put
和get
命令進行文件傳輸上傳文件到遠程服務器:
put local_file remote_directory/remote_file
例如:
put /home/user/local_file.txt /home/remote_user/remote_directory/
從遠程服務器下載文件:
get remote_directory/remote_file local_directory/
例如:
get /home/remote_user/remote_directory/remote_file.txt /home/local_user/local_directory/
mput
和mget
命令進行多文件傳輸上傳多個文件到遠程服務器:
mput local_files_directory/*
例如:
mput /home/user/local_files_directory/*
從遠程服務器下載多個文件:
mget remote_directory/remote_files_directory/*
例如:
mget /home/remote_user/remote_files_directory/*
ls
和cd
命令導航遠程目錄列出遠程目錄內容:
ls
ls -l
ls -a
切換遠程目錄:
cd remote_directory
exit
命令退出SFTP會話exit
你可以編寫一個簡單的腳本來自動化同步過程。例如,創建一個名為sync_files.sh
的腳本:
#!/bin/bash
# 定義本地和遠程目錄
LOCAL_DIR="/home/user/local_directory"
REMOTE_DIR="username@remote_host:/home/remote_user/remote_directory"
# 同步本地目錄到遠程目錄
sftp username@remote_host <<EOF
put $LOCAL_DIR/* $REMOTE_DIR/
EOF
# 同步遠程目錄到本地目錄
sftp username@remote_host <<EOF
get $REMOTE_DIR/* $LOCAL_DIR/
EOF
echo "同步完成"
賦予腳本執行權限并運行:
chmod +x sync_files.sh
./sync_files.sh
rsync
。通過以上步驟,你可以使用Linux SFTP進行文件同步。