Articles of scp

在kubernetes中接收和提供静态文件

在pre-k8s,pre-container世界中,我有一个运行nginx的云虚拟机,并允许授权用户将新内容scp到webroot中。 我想在k8s集群中build立一个类似的设置来托pipe静态文件,目标是: 授权用户可以scp中的新文件 这些文件静态地在网上提供 这些文件保存在一个永久性的卷,以便重新启动时不会消失 我似乎无法弄清楚存储类+容器的可行组合,使这项工作。 我一定会很感激任何build议! 更新 我没有意识到的是,在同一个容器中运行的两个容器都可以具有与读取/写入相同的gcePersistentDisk 。 所以我最终的解决scheme看起来像一个nginx容器运行在同一个窗格中作为一个sshd容器,可以写入nginx webroot。 到目前为止,它一直在努力工作。

scp到远程主机,而不在该主机上执行bash_profile文件

我有一个主机,其.bash_profile文件有一些用户提示(bash读取命令),在读取用户input后,根据input执行一些命令。 这工作得很好。 现在,当我尝试scp东西到这个主机,它执行.bash_profile (因为scp首先ssh到远程主机),它会提示用户input和scp失败。 我想要的是跳过执行.bash_profile当有人试图scp到这个主机(我个人认为这是不可能的),或知道某人正在试图scp在.bash_profile (以某种方式捕捉在.bash_profile ),并跳过一些相应的命令。 TIA

scp输出为日志文件

我对使用scp相对比较陌生 – 我正在尝试通过ec2做一些简单的工作 – 例如: scp -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file 我想要的是上述命令的日志(即屏幕输出到一个文本文件) – 有办法实现这一点? 谢谢。

如果两台机器中的文件都是错误的,如何退出shell脚本?

我在machineA上运行我的shell脚本,它将machineB和machineC的文件复制到machineA 。 如果该文件不在machineB ,那么它肯定应该在machineC中。 所以我会尝试从machineB首先复制,如果它不在machineB那么我将去machineC复制相同的文件。 下面是我用来复制文件的shell脚本, PRIMARY_PARTITION是一个包含所有文件编号的数组 – for el in "${PRIMARY_PARTITION[@]}" do scp -o ControlMaster=auto -o 'ControlPath=~/.ssh/control-%r@%h:%p' -o ControlPersist=900 david@machineB:/te/data/te_snapshot/20140411/t1_weekly_1680_"$el"_200003_5.data /data01/primary/. || scp -o ControlMaster=auto -o 'ControlPath=~/.ssh/control-%r@%h:%p' -o ControlPersist=900 david@machineC:/te/data/te_snapshot/20140411/t1_weekly_1680_"$el"_200003_5.data /data01/primary/. done 现在的问题是 – 可能有一些情况下,在这两个机器中没有文件 – machineB和machineC然后我想退出shell脚本非零状态和适当的消息与哪个文件丢失 – 所以我喜欢这个,我在最后加了一个pipe道声明,但不知怎的,这个消息没有被打印出来。 而且我非常确定那些试图复制的文件不在这两个机器的文件夹中 – scp -o ControlMaster=auto -o 'ControlPath=~/.ssh/control-%r@%h:%p' -o ControlPersist=900 david@machineB:/te/data/te_snapshot/20140411/t1_weekly_1680_"$el"_200003_5.data /data01/primary/. || scp -o ControlMaster=auto […]

scp不会返回错误也不会复制

我试图从我的本地机器到服务器scp文件。 scp返回给我一系列这样的明星而不复制任何文件: [xx@xx ~]$ scp xx.tar xx@xx.xx:~ xx@xx.xx's password: **************************************************************** 所以第一件事:我正确地input了密码。 我也检查,以确保scp与其他服务器(只有不是这个)工作。 scp在这台服务器上工作,这意味着我可以从login的terminal拉文件到服务器。 错误只发生在我尝试从其他地方将文件推入服务器时。 我尝试了不同的机器,它们都是一样的。

在远程服务器linux上复制/移动文件

我login到server_a并运行具有以下脚本的.sh文件: scp user@server_b:/my_folder/my_file.xml user@server_b:/my_new_folder/ 将文件从my_folder复制到my_folder的my_new_folder 。 它不会抛出错误,但不会复制文件。 笔记: server_b被预设的rsa_keys访问。 server_a :unix server_b :ubuntu SCP可以向/从这些服务器发送文件而没有任何问题 最终目标是移动或复制/删除文件。

scp – 转移报告100%完成(并被转移),但文件大小不正确

我正在使用scp在两个linux系统之间传输文件 – 当传输完成时,从SCP屏幕的最终打印显示错误的文件大小: vmtbackup.zip 100% 2613MB 17.5MB/s 02:29 . 正如你在这里看到的,最终报告的大小是2613MB,转移已经完成。 但是文件的实际大小是2741MB 当我检查目标系统时,文件具有正确的大小(因此传输已成功完成)。 我使用SCP的输出作为脚本的一部分,并且当SCP中的大小=文件大小(因为100%同样不可靠)时,检查条件是完成脚本 – 它是期望脚本的一部分,看起来像这样: function Transfer { /usr/bin/expect <<EOD #transfers the vmtbackup.zip file from source system to target system spawn scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no /tmp/vmtbackup.zip $user@$ip:/tmp/ expect { #handles all unexpected outcomes. Primarily used to capture wrong password, as no remote connection should […]

通过文件扩展名将文件recursion复制到远程服务器

我想将所有文件*.txt复制到远程服务器。 我试过了: find . -name '*.txt' -exec scp {} user@server:directory ";" 但每次find文件时都ask for the password 。 你有什么想法做得更好? 非常感谢你。

TCL,预计:多个文件与SCP

我能够传输文件与SCP和期望,现在我试图一次上传几个文件: #!/usr/bin/expect -f # Escapes spaces in a text proc esc text { return [regsub -all {\ } $text {\\&}] } # Uploads several files to a specified server proc my_scp_multi {ACCOUNT SERVER PW files newfolder} { set timeout 30 send_user — "\n" spawn scp $files $ACCOUNT@$SERVER:[esc $newfolder] match_max 100000 # Look for password prompt […]

不能从Linux EC2实例到本地机器的SCP

我试图把我的Amazon EC2实例中的一个文件存入我的Linux机器。 我已经做了相当多的阅读,似乎没有任何工作。 我可以从我的Linux机器SSH到我的实例(这是我如何连接到它),甚至可以通过做scp -i my-key-pair.pem SampleFile.txt ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~进入它scp -i my-key-pair.pem SampleFile.txt ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~ 。 根据亚马逊在这个环节的说明,为了让SCP从实例到我的机器,我只需要“简单地颠倒主机参数的顺序”。 换句话说,这个: scp -i my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt 我用googlesearch了一下,甚至还读了一些类似的问题,包括这个 ,但是我没有运气。 我不确定是什么问题。 有一天,我设法跨越实例(即从一个EC2实例到另一个实例)没有问题 – 至less据说需要多一点修补。 另一个令我困扰的问题是,从实例到本地机器的SCP命令包含私钥(上面代码块中的my-key-pair.pem),而我寻找实例上的.pem文件并没有find。 我错过了什么吗? 提前致谢。 顺便说一下,我看到通用的“权限被拒绝(公钥)”错误。