【shell】scp传送的压缩与限速

在网速较慢或为减少流量使用时,scp可以使用-C压缩选项;压缩还是能比较明显的提高传输速率的(不过一般建议先手动压缩再做scp传输)。

为保证宽带的可用性,可以加上限速选项 -l 1024 (单位为kb,所示即为不超过1Mb/s的速率)。

scp -C -l1024 src.** dest.**

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: SCP是一种在Linux系统中用于远程传输文件的命令。使用SCP命令可以将本地文件传输到远程服务器,也可以将远程服务器上的文件传输到本地。 以下是使用shell脚本进行SCP传送文件的示例: ``` #!/bin/bash # 定义远程服务器的IP地址、用户名和密码 remote_ip="192.168.1.100" remote_user="username" remote_password="password" # 定义本地文件和远程服务器上的目标路径 local_file="/path/to/local/file" remote_path="/path/to/remote/directory" # 使用SCP命令传输文件 scppass="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /usr/bin/expect <<EOF spawn scp $scppass $local_file $remote_user@$remote_ip:$remote_path expect { "(yes/no)?" { send "yes\n" expect "*assword:" { send "$remote_password\n" } } "*assword:" { send "$remote_password\n" } } expect eof EOF ``` 以上脚本使用expect命令实现自动输入远程服务器的密码,确保SCP命令可以顺利执行。在实际使用中,需要将脚本中的IP地址、用户名、密码、本地文件路径和远程服务器路径替换为实际的值。 ### 回答2: shell脚本是一种编程语言,它可以用于自动化任务、操作文件和目录、处理文本、执行系统命令等各种操作。其中,scp传送文件是shell脚本功能之一。 SCP是Secure Copy的缩写,是一种安全的文件传输协议,基于SSH协议来实现。使用SCP可以在不同的机器之间进行文件传输,包括上传和下载文件。对于shell脚本来说,使用SCP可以实现自动化、程序化地进行文件传输。 SCP的语法格式如下: scp [options] [source] [destination] 其中,[options]是scp命令的参数,[source]是源文件路径,[destination]是目标路径。 在shell脚本中,使用SCP可以实现例如备份文件的操作。例如,可以编写如下脚本: #!/bin/bash today=$(date +"%Y%m%d") backup_dir="/backup" remote_server="192.168.1.1" remote_user="user" remote_password="password" file_name="app.log" # 创建备份目录 mkdir -p ${backup_dir}/${today} # 备份文件 cp /var/log/${file_name} ${backup_dir}/${today} # 将备份文件上传到远程服务器 expect << EOF spawn scp ${backup_dir}/${today}/${file_name} ${remote_user}@${remote_server}:/backup/ expect "password:" send "${remote_password}\r" expect eof EOF 上述脚本中,首先定义了需要备份的文件路径、备份文件的存放路径、远程服务器的IP、用户名和密码等参数。然后,创建备份目录和备份文件,并使用expect命令将备份文件上传至远程服务器。 需要注意的是,使用scp传送文件需要输入密码,为了自动化脚本,可以使用expect命令来实现自动输入密码,从而实现完全自动化的文件传输。 总之,使用shell脚本实现SCP传送文件可以简化人工操作,提高工作效率,特别是在需要大量文件传输或需要定期备份文件的情况下,使用shell脚本可以大大减少工作量。 ### 回答3: Shell脚本scp传送文件是Linux系统管理员经常使用的命令之一,它提供了一种安全可靠的文件传输方式。SCP(Secure Copy Protocol)是Linux系统下的一种基于SSH协议的文件传输命令,它可以在本地主机与远程主机之间传输文件和目录。 SCP与其他常用的文件传输协议(如FTP,TFTP等)不同,SCP使用SSH协议进行传输,因此具有SSH协议的安全性和稳定性,能够避免一些安全问题。而且SCP的传输速度相对其他传输协议来说较快。 在使用SCP的过程中,我们需要指定源文件和目标文件的路径,其中源文件可以是本地主机上的文件,也可以是远程主机上的文件,目标文件可以是本地主机上的文件,也可以是远程主机上的文件。具体的命令格式如下: scp [参数] [源文件] [目标文件] 其中,参数通常不是必须的,我们可以先了解一下常见的参数: -r:递归复制整个目录(即复制目录及其内容); -P:指定复制程序的端口号; -v:显示详细复制过程; -C:开启压缩传输。一般建议开启,可以提高传输速度。 接下来,我们以一个具体的例子来说明SCP命令的使用: 假设我们要将本地主机上的/home/myfile文件传输到远程主机的/tmp目录中。那么,我们可以使用如下的命令: scp /home/myfile remoteuser@remotehost:/tmp 其中,/home/myfile是源文件,remoteuser是远程主机的用户名,remotehost是远程主机的IP地址或域名,:/tmp表示目标文件在远程主机的/tmp目录中。 在实际使用中,我们还可以通过配置SSH免密登录来省略输入密码的步骤,从而减少了操作的繁琐性。 总之,使用SCP命令可以实现本地主机与远程主机之间的文件传输,提高工作效率和数据安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值