Linux n00b在将文件从服务器拉到我当地的Windows 7专业64位机器时遇到问题。我正在使用Wowza来传输实时视频,我正在将这些实时视频录制到我位于此处的Google Cloud实例中:
/usr/local/WowzaStreamingEngine/content/myStream.mp4
当我ssh:
gcutil --project=”myprojectname” pull “my instance”
“/usr/local/WowzaStreamingEngine/content/myStream.mp4” “/folder1”
我收到权限被拒绝错误。当我尝试在本地计算机上保存另一个文件夹时,即" / folder1 / folder2"返回的错误是找不到文件或目录。我已经检查过我在本地Windows 7计算机上设置了写入权限,因此我认为这不是权限错误。再次,为n00b问题道歉,我刚刚被困在这里几个小时。
THX, 〜格雷格
评论已添加7/18: 我通过ssh输入以下内容:
gcutil --project=”Myproject” pull “instance-1” "/usr/local/WowzaStreamingEngine/content/myStream.mp4” “/content"
输入此内容我希望将mystream.mp4文件复制到我的C:/ content文件夹中。返回以下内容:警告:永久添加' 107.178.218.8' (ECDSA)到已知主机列表。输入密钥' /home/Greg/.ssh/google_compute_engine'的密码:
这里我输入密码并返回以下错误:/ content:Permission denied在此文件夹上设置了写入。谢谢! - 格雷格
- == - == - >
要回答关于使用Cygwin的问题,我不熟悉Cygwin,我不相信它在这个例子中使用过。我通过Google Cloud SDK shell运行这些命令,我根据此处的说明https://developers.google.com/compute/docs/gcutil/安装了该shell。
我在做什么:
设置我的Google云端实例后,我打开Google CLoud SDK并输入以下内容:
gcutil --service_version="v1" --project="myproject" ssh --zone="us-central1-a" "instance-1"
然后我被提示输入我创建的密码,然后运行以下内容:
curl http://metadata/computeMetadata/v1/instance/id -H "X-Google-Metadata-Request:True"
这提供了我用于登录Wowza实时视频流引擎的密码。所有这些都很精彩,我可以流式传输视频并将视频录制到以下位置:/usr/local/WowzaStreamingEngine/content/myStream.mp4
接下来,我尝试将.mp4文件保存到我的本地驱动器,这就是我遇到问题的地方。我试图跑:
gcutil --project=”myproject” pull “instance-1” “/usr/local/WowzaStreamingEngine/content/myStream.mp4” “C:/content”
还试过,C:/ content C:\ content和C:\ content
这些尝试引发了以下错误:
无法解析主机名C:名称或服务未知
再次感谢您的时间,我知道这很有价值,我非常感谢您帮助新手。
更新我相信感谢您的帮助。切换到本地C盘,输入您在答案更新中显示的命令。现在返回一个新的,而不是之前看到的错误:
错误:超出API速率限制
我对S.O.做了一些研究。并且一些建议是未启用结算或未启用相关API,我可以通过启用Google Compute Engine来解决。现在,我的项目已启用了几周的结算功能。就Google Compute Engine而言,以下是我认为开启的相关项目:
用户信息:已启用
计算:读写
存储:完整
任务队列:已启用
BigQuery:已启用
Cloud SQL:已启用
云数据库:已启用
我录制的测试视频短而小。我还没有对此实例做任何其他事情,所以不知道为什么我的API速率超出错误。
我也去了Google API控制台。我看到报告的使用非常有限,所以再次不确定为什么我超出了API限制。也许我没有在API控制台中正确设置某些内容?
答案 0 :(得分:1)
我猜你在这里使用Cygwin(如果我错了请纠正我。)
您的Cygwin安装的根目录很可能是C:\cygwin
(请参阅FAQ)而不是C:
,所以当您在命令行中说/content
时,您就是提及C:\cygwin\content
而非C:\content
。
其次,由于您可能以普通用户身份运行(而不是root用户),因此无法写入/content
,这就是您收到权限被拒绝错误的原因。
解决方案:将目标目录指定为C:/content
(或C:\\content
),而不是/content
。
更新:从更新到问题,您使用的是Google Cloud SDK外壳,而不是Cygwin,因此上述答案不适用。您看到错误的原因:
Could not resolve hostname C: Name or service not known
是因为gcutil
(如ssh
)将包含:
的目标解析为具有模式[hostname]:[path]
。因此,您应该避免在目标中:
,这意味着我们需要删除驱动器规范。
在这种情况下,假设您当前处于类似C:\...>
的提示符,则以下内容应该足够了:
gcutil --project=myproject pull instance-1 /usr/local/WowzaStreamingEngine/content/myStream.mp4 \content
如果没有,请首先通过发出命令切换到C:
驱动器:
C:
然后运行上面的命令。
注意:我从命令行中删除了引号,因为在参数中没有空格的情况下你不需要它。