Linux跨服务器复制文件传输的脚本
时间: 2024-11-27 15:19:40 浏览: 0
在Linux中,你可以使用多种命令和工具来实现文件跨服务器复制,比如`scp`(Secure Copy)或`rsync`。这里是一个简单的bash脚本来演示如何使用`scp`:
```bash
#!/bin/bash
# 定义源文件和目标路径
SOURCE_FILE="/path/to/source/file"
SERVER_HOST="remote_server_address"
SERVER_DIR="/destination/path/on/server"
# 使用scp命令复制文件
SCP_COMMAND="scp -r ${SOURCE_FILE} ${USER}@${SERVER_HOST}:${SERVER_DIR}"
# 执行命令并显示进度
echo "Copying file to remote server..."
if scp ${SCP_COMMAND}; then
echo "File copied successfully."
else
echo "Failed to copy the file."
fi
```
如果你需要实时同步并且只复制变更的部分,可以使用`rsync`,如下所示:
```bash
#!/bin/bash
# 同样的变量定义
RSYNC_COMMAND="rsync -avz --progress /path/to/source/file ${USER}@${SERVER_HOST}:${SERVER_DIR}"
# 执行rsync
echo "Synchronizing files with rsync..."
if rsync ${RSYNC_COMMAND}; then
echo "Files synchronized successfully."
else
echo "Synchronization failed."
fi
```
在这个脚本中,`-a`表示归档模式,保留文件权限、时间戳等信息;`-v`用于详细模式,显示复制过程;`-z`启用压缩,减少网络带宽消耗。
阅读全文