Skip to content

rsync 常用命令

从远程主机下载文件到本地指定目录

sh
rsync -avhP <username>@<remote_host>:<folder>/<filename> ~/downloads/
  • -a:保留属性(时间戳、权限等)
  • -v:显示详细过程
  • -h:人类可读大小(MB/GB)
  • -P:显示进度并支持断点续传

上传文件到远程主机指定目录指定文件

将本地 *_*.py 文件上传到远程主机 ai 的指定目录:

sh
LOCAL_DIR="<local_dir>"
FILE_PATTERN="*_*.py"
REMOTE_HOST="ai"
REMOTE_DIR="<remote_dir>"

# sudo apt install sshpass
sshpass -p "${SUDOPASS}" rsync -avz --progress ${LOCAL_DIR}/${FILE_PATTERN} ${REMOTE_HOST}:${REMOTE_DIR}/
echo "Synced at $(date +'%H:%M:%S')"

从远程主机同步文件到本地

将远程主机 aicli.log 文件同步到本地目录并重命名为 machine.log

sh
REMOTE_HOST="ai"
REMOTE_DIR="<remote_dir>"
REMOTE_FILE="cli.log"
LOCAL_DIR="<local_dir>"
LOCAL_FILE="machine.log"

# sudo apt install sshpass
sshpass -p "${SUDOPASS}" rsync -avz --progress ${REMOTE_HOST}:${REMOTE_DIR}/${REMOTE_FILE} ${LOCAL_DIR}/${LOCAL_FILE}
echo "Synced at $(date +'%H:%M:%S')"