我无法使用 SSL 访问 docker 容器内的网站。下面是 的输出curl -Ls -o /dev/null -v http://docker-mydomain.xyz。
...\n...\n* TLSv1.2 (IN), TLS handshake, Finished (20):\n{ [16 bytes data]\n* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES256-GCM-SHA384\n* ALPN, server accepted to use http/1.1\n* Server certificate:\n* subject: CN=docker-mydomain.xyz\n* start date: Jan 26 07:12:47 2023 GMT\n* expire date: Apr 26 07:12:46 2023 GMT\n* subjectAltName: host "docker-mydomain.xyz" matched cert's "docker-mydomain.xyz"\n* issuer: C=US; O=Let's Encrypt; CN=R3\n* SSL certificate verify ok.\n* TLSv1.2 (OUT), TLS header, Supplemental data (23):\n} [5 bytes data]\n> GET …Run Code Online (Sandbox Code Playgroud) 我有这个 ssh 配置需要编辑。
\nHost vps6\n HostName 123.456.789.00\n User dylan\n Port 123\n\nHost vps4\n HostName 123.456.789.00 \n User dylan\n Port 123\n\n# old server\n\nHost vps3-old\n HostName 123.456.789.00\n User dylan \n Port 123\nRun Code Online (Sandbox Code Playgroud)\n我想将配置移至vps6文件末尾并追加-old其配置别名。生成的文件将是。
Host vps4\n HostName 123.456.789.00 \n User dylan\n Port 123\n\n# old server\n\nHost vps3-old\n HostName 123.456.789.00\n User dylan \n Port 123\n\nHost vps6-old\n HostName 123.456.789.00\n User dylan\n Port 123\nRun Code Online (Sandbox Code Playgroud)\n我设法使用这个 sed 命令 \xe2\x86\x92 来做到这一点sed \'/\'"vps4"\'/{N;N;N;N;H;$!d}; ${p;x;s/\'"vps4"\'/\'"vps4"\'-old/}\',不幸的是这在文件末尾给了我不需要的换行符。
[tmp]$ sed \'/\'"vps6"\'/{N;N;N;N;H;$!d}; ${p;x;s/\'"vps6"\'/\'"vps6"\'-old/}\' config\nHost vps4\n …Run Code Online (Sandbox Code Playgroud) 我有以下文件,它是 ssh 的配置文件。
Host vps2 # Linode
HostName xxx.xx.xx.xxx
User foo_user
Host vps3 # Vultr
HostName xxx.xx.xx.xxx
User foo_user
Host vps4
HostName xxx.xx.xx.xxx
User foo_user
Host vps5
HostName xxx.xx.xx.xxx
User foo_user
Host vps6
HostName xxx.xx.xx.xxx
User foo_user
Host vps7 # DigitalOcean
HostName xxx.xx.xx.xxx
User foo_user
Host vps8 # GCP
HostName xxx.xx.xx.xxx
User foo_user
Host pi
HostName xxx.xx.xx.xxx
User pi
# OLD SHALL NOT BE USED
Host vps13
HostName xxx.xx.xx.xxx
User foo_user
Host vps14-old
HostName xxx.xx.xx.xxx
User foo_user
Host vps4-old
HostName …Run Code Online (Sandbox Code Playgroud) 所以我得到了这个 bash 脚本,它从远程服务器执行备份命令,每个服务器主机名都在名为/tmp/quarantine.list. 内容是这样的:
server1
server2
Run Code Online (Sandbox Code Playgroud)
server1并且server2是我的远程服务器的 ssh 别名,因此如果我需要访问它们中的任何一个,我只需运行 例如ssh server1。
我需要备份 中的每个服务器/tmp/quarantine.list,因此我使用while循环循环每一行。这是我的代码。
# Reading from /tmp/quarantine.list
while IFS= read -r list; do
if [ "$list" == "server4" ]; then
users="adminjoe"
fi
tempfile="${logdir}/rsync_$list.log"
SECONDS=0
set +x
if rsync -ca --stats --info=progress2 --remove-source-files $list:/home/${users}/backup/20* $backup_location/$list >> $tempfile 2>&1; then
ssh $list "find /home/${users}/backup/20* -type d -empty -delete"
else
echo "Error while running rsync"
exit 1
fi
set -x
elapsed_time=$SECONDS
transferred_size=$(gawk …Run Code Online (Sandbox Code Playgroud)