小编Lis*_*iso的帖子

访问 docker 容器内的 https 站点时超时,使用 http 可以正常工作

我无法使用 SSL 访问 docker 容器内的网站。下面是 的输出curl -Ls -o /dev/null -v http://docker-mydomain.xyz

\n
...\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)

ssl docker dockerfile

8
推荐指数
1
解决办法
513
查看次数

如何将文本块和下一个第 n 行按照模式移动到文件末尾?

我有这个 ssh 配置需要编辑。

\n
Host 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\n
Run Code Online (Sandbox Code Playgroud)\n

我想将配置移至vps6文件末尾并追加-old其配置别名。生成的文件将是。

\n
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\n
Run Code Online (Sandbox Code Playgroud)\n

我设法使用这个 sed 命令 \xe2\x86\x92 来做到这一点sed \'/\'"vps4"\'/{N;N;N;N;H;$!d}; ${p;x;s/\'"vps4"\'/\'"vps4"\'-old/}\',不幸的是这在文件末尾给了我不需要的换行符。

\n
[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)

string awk sed ed

3
推荐指数
1
解决办法
160
查看次数

从 ~/.ssh/config 打印别名 - 带或不带尾随连字符

我有以下文件,它是 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 awk grep sed ssh-config

1
推荐指数
1
解决办法
139
查看次数

While 循环无法从文件中读取所有行

所以我得到了这个 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)

bash loops

0
推荐指数
1
解决办法
162
查看次数

标签 统计

awk ×2

bash ×2

sed ×2

docker ×1

dockerfile ×1

ed ×1

grep ×1

loops ×1

ssh-config ×1

ssl ×1

string ×1