我的 Git 设置在 Linux 上运行良好,但是当我尝试在 Windows 下进行设置时(使用 Git for Windows 和TortoiseGit),我不知道将我的私有 SSH 密钥放在哪里(或者更好的是,如何知道ssh
它在哪里位于)。我在安装 Git for Windows 期间使用标准 ssh.exe 选项。如果我允许服务器上的密码身份验证(代替 RSA),则设置运行良好。
尝试运行一个简单的 AWS CLI 备份脚本。它遍历包含文件中的行,将这些路径备份到 S3,并将输出转储到日志文件。当我直接运行此命令时,它运行没有任何错误。当我通过 CRON 运行它时,我的输出日志中出现“无法找到凭据”错误。
外壳脚本:
AWS_CONFIG_FILE="~/.aws/config"
while read p; do
/usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1
done </PATH/TO/INCLUDE/include.txt
Run Code Online (Sandbox Code Playgroud)
我只是在开始看到错误后才将这一行添加到配置文件中,我认为这可能会解决它(尽管我很确定这是 AWS 默认的样子)。
Shell 脚本以 root 身份运行。我可以在指定位置看到 AWS 配置文件。我觉得这一切都很好(就像我说的,它在 CRON 之外运行良好)。
这是坐在我网站的 cgi-bin 中。我应该担心吗?
#!/usr/bin/perl
print <<HTML;
Content-type: text/html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html">
<link rel="stylesheet" type="text/css" href="../../css/style.css">
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0">
<tr class="subhead" align="Left"><th>Name</th><th>Value</th></tr>
HTML
my $class;
foreach (sort keys %ENV) {
next unless /^HTTP_|^REQUEST_/;
$class = ($class ne 'normal')? 'normal': 'alt';
print <<HTML;
<tr class="$class"><td valign="top">$_</td><td>$ENV{$_}</td></tr>
HTML
}
print <<HTML;
</table>
</body>
</html>
HTML
Run Code Online (Sandbox Code Playgroud)