我正在尝试编写一个脚本,将在我的台式机(windows/cygwin)上创建的构建部署到我的测试环境(linux)中的一台机器上。
我想使用 scp 将构建复制到目标机器。目标机器上的唯一帐户是 root,我无法为此任务创建特殊用户。root 用户无法使用 ssh 密钥登录(我怀疑这是在 ssh 服务器上配置的,但我不知道哪个配置选项控制了这个)。无论如何,我无法更改 ssh 服务器的配置。
我的台式机使用 Cygwin,并且安装了 ssh。我需要的是命令行fu,它允许我将密码放在命令行上。
我知道在 shell 脚本中使用明文密码的危险,但这不是这里的问题。
Scp 传输单个文件的速度非常慢。执行此操作的最快方法是什么?
我需要速度的原因不是因为我有大量的文件要传输。我只希望单个文件传输(从开始到完成)快速完成(因此 rsync 和 tar 和传输不够快)。
我有一个文件,我尝试通过 scp 和 rsync 跨有线 LAN 传输,两者都产生了相同的结果。当我du file在传输后运行文件时,接收方主机上的文件大 8 个字节。
我还检查head file | hexdump -C了两个主机,它们是相同的。同样的故事tail...
任何想法为什么会发生这种情况?如果重要,该文件是 gzip。
我在远程机器上有文件。我可以列出来:
ssh matous@xxx ls -la
Run Code Online (Sandbox Code Playgroud)
该文件在响应中:
...
-rw-r--r-- 1 matous matous 796672 Oct 11 11:12 D1.db
...
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试将它 scp 到我的本地机器:
scp matous@xxx/D1.db /home/matous
Run Code Online (Sandbox Code Playgroud)
我得到错误:
cp: cannot stat 'matous@x/D1.db': No such file or directory
Run Code Online (Sandbox Code Playgroud)
文件怎么可能存在并且不能被声明?我缺少什么?
你如何备份你的网站?当您拥有一个包含数千个文件的大型站点 (20GB+) 时,我特别感兴趣?
有什么比平常更聪明的吗 tar -zcvf backup2010.tar.gz ./public_html/
回答完以上问题后,如何维护一致的备份程序?
感谢大家的帮助
我正在尝试在 shell 脚本中使用 SCP 传输一些文件,但在远程计算机上提示我输入密码。
我可以使用 expect 和 scp 来输入密码,这样我就不必一直输入密码了吗?
我正在尝试连接到我的服务器以使用 scp 传输文件:
$ scp -v -r -P <port> <user>@<host>:~/dir/ dir/
Run Code Online (Sandbox Code Playgroud)
这是输出:
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/joe/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to <host> [<host>] port <port>.
debug1: Connection established.
debug1: identity file /Users/joe/.ssh/identity type -1
debug1: identity file /Users/joe/.ssh/id_rsa type -1
debug1: identity file /Users/joe/.ssh/id_dsa type -1
ssh_exchange_identification: Connection closed by remote host
Run Code Online (Sandbox Code Playgroud)
但通过 SSH 连接工作正常:
$ ssh <user>@<host> -p <port>
<user>@<host>'s password:
<user>@<host>:~$
Run Code Online (Sandbox Code Playgroud)
好的
这有什么问题?
我/etc/ssh/sshd_config在主机上的文件是:
# Package …Run Code Online (Sandbox Code Playgroud) 我从 1 台 linux 主机转移到另一台 linux 主机,大约有 15TB 的数据。发件人主机有这些网卡:
[44.206701] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[44.274112] 绑定:bond0:接口 eth0,1000 Mbps 全双工的链接状态肯定是正常的。
[44.278534] igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[44.573636] 绑定:bond0:接口 eth1、1000 Mbps 全双工的链路状态肯定是正常的。
接收主机有这个网卡:
[16.964486] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
我现在的最大传输速度是 11 MB/s。我想知道,我需要做什么来提高传输速度?升级接收机网卡?
谢谢!
我有一个 Jenkins 构建,我试图将一个战争文件从一个虚拟机复制到另一个虚拟机。我想使用scp. 我试过在 Jenkins 之外的 shell 中运行它,一切正常。尝试自动化它有点棘手。我需要提供密码才能使用sudo,还需要为我复制到的虚拟机输入密码。
在 Jenkins 构建日志中,我看到在执行自定义 shell 脚本后构建失败。
我在 Jenkins 构建中运行的命令是
echo 'password' | sudo -S scp -P 5555 application.war user@15.15.15.15:/JBoss/standalone/deployments
Run Code Online (Sandbox Code Playgroud)
输出是
[sudo] password for jenkins: Sorry, try again.
[sudo] password for jenkins:
sudo: 1 incorrect password attempt
Run Code Online (Sandbox Code Playgroud)
我没有为 Jenkins 设置任何用户,所以我不理解[sudo] password for jenkins错误。
我意识到有 Jenkins 插件可以实现我想要做的事情,但目前没有一个对我有用,这可能是由于服务器配置不当。这就是我想scp在自定义 shell 脚本中使用的原因。
这是如何向服务器发出嘘声
ssh -p 2222 thatilike@192.185.21.105
我想将文件复制logo.png到public_html服务器上的文件夹
这是我试过的
scp ./logo.png -p 2222 thatilike@192.185.21.105:/public_html/
不知道为什么不工作