<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/rss/stylesheet/" type="text/xsl"?>
<rss xmlns:content='http://purl.org/rss/1.0/modules/content/' xmlns:taxo='http://purl.org/rss/1.0/modules/taxonomy/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:itunes='http://www.itunes.com/dtds/podcast-1.0.dtd' xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:atom='http://www.w3.org/2005/Atom' xmlns:podbridge='http://www.podbridge.com/podbridge-ad.dtd' version='2.0'>
<channel>
  <title>another jinmo&apos;s blog</title>
  <language>zh-cn</language>
  <generator>microfeed.org</generator>
  <itunes:type>episodic</itunes:type>
  <itunes:explicit>false</itunes:explicit>
  <atom:link rel="self" href="https://blog-jinmo-com.pages.dev/rss/" type="application/rss+xml"/>
  <link>https://blog-jinmo-com.pages.dev</link>
  <itunes:author>Jinmo</itunes:author>
  <itunes:image href="https://r2.88208820.xyz/blog-jinmo-com/production/images/channel-5ca30c83bb30a0142c51b595de069a15.jpg"/>
  <image>
    <title>another jinmo&apos;s blog</title>
    <url>https://r2.88208820.xyz/blog-jinmo-com/production/images/channel-5ca30c83bb30a0142c51b595de069a15.jpg</url>
    <link>https://blog-jinmo-com.pages.dev</link>
  </image>
  <copyright>©2024</copyright>
  <item>
    <title>网站证书更新</title>
    <guid>5inVTwGHy7v</guid>
    <pubDate>Thu, 18 Apr 2024 10:01:31 GMT</pubDate>
    <itunes:explicit>false</itunes:explicit>
    <description>
      <![CDATA[<p>网站证书又到期了，不想一次次的手动更新证书了，于是写了一个 bash 脚本更新证书并移动证书文件到 nginx 的配置文件夹，再写了一个 crontab 任务每两个月执行一遍脚本。</p><p><br></p><p>出现错误</p><blockquote>-------------------</blockquote><blockquote>执行时间: Wed May&nbsp;1 00:00:01 CST 2024</blockquote><blockquote>开始更新证书...</blockquote><blockquote>the input device is not a TTY</blockquote><blockquote>ACME 更新失败。</blockquote><p>解决方法是在使用脚本执行 docker 指令时，需要把 -it 去掉</p><p>参考链接</p><p>https://blog.csdn.net/sunmingyang1987/article/details/108877902</p><p><br></p><p><br></p><pre class="ql-syntax" spellcheck="false">#!/bin/bash




# 设置域名和路径变量

DOMAIN="jinmo.cloud"

ACME_VOLUME_PATH="/data/acme.sh/out/"

NGINX_CONFIG_PATH="/data/nginx/config"

LOG_FILE="/usr/local/script/updateCertificat/updateCertificat.log"




# 在日志文件中记录执行时间

echo "-------------------" &gt;&gt; "$LOG_FILE"

echo "执行时间: $(date)" &gt;&gt; "$LOG_FILE"




# 使用 ACME 容器更新证书

echo "开始更新证书..." &gt;&gt; "$LOG_FILE"

docker run --rm -v "$ACME_VOLUME_PATH:/acme.sh" neilpang/acme.sh --renew -d "$DOMAIN" --force &amp;&gt;&gt; "$LOG_FILE"




# 检查更新是否成功

if [ $? -ne 0 ]; then

&nbsp; &nbsp; echo "ACME 更新失败。" &gt;&gt; "$LOG_FILE"

&nbsp; &nbsp; exit 1

else

&nbsp; &nbsp; echo "ACME 更新成功。" &gt;&gt; "$LOG_FILE"

fi




# 复制证书文件到 Nginx 配置路径

echo "复制证书文件到 Nginx 配置路径..." &gt;&gt; "$LOG_FILE"

# 记录执行语句

echo "cp ${ACME_VOLUME_PATH}${DOMAIN}/${DOMAIN}.csr $NGINX_CONFIG_PATH/" &gt;&gt; "$LOG_FILE"

cp ${ACME_VOLUME_PATH}${DOMAIN}/${DOMAIN}.csr $NGINX_CONFIG_PATH/ &amp;&gt;&gt; "$LOG_FILE"

echo "cp ${ACME_VOLUME_PATH}${DOMAIN}/${DOMAIN}.cer $NGINX_CONFIG_PATH/" &gt;&gt; "$LOG_FILE"

cp ${ACME_VOLUME_PATH}${DOMAIN}/${DOMAIN}.cer $NGINX_CONFIG_PATH/ &amp;&gt;&gt; "$LOG_FILE"

echo "cp ${ACME_VOLUME_PATH}${DOMAIN}/${DOMAIN}.key $NGINX_CONFIG_PATH/" &gt;&gt; "$LOG_FILE"

cp ${ACME_VOLUME_PATH}${DOMAIN}/${DOMAIN}.key $NGINX_CONFIG_PATH/ &amp;&gt;&gt; "$LOG_FILE"




# 检查复制操作是否成功

if [ $? -ne 0 ]; then

&nbsp; &nbsp; echo "复制证书文件失败。" &gt;&gt; "$LOG_FILE"

&nbsp; &nbsp; exit 1

else

&nbsp; &nbsp; echo "复制证书文件成功。" &gt;&gt; "$LOG_FILE"

fi

# 重新启动 Nginx 容器
echo "重新启动 Nginx 容器..." &gt;&gt; "$LOG_FILE"
docker restart $NGINX_CONTAINER_NAME &amp;&gt;&gt; "$LOG_FILE"


# 检查重新启动操作是否成功
if [ $? -ne 0 ]; then
&nbsp; &nbsp; echo "Nginx 容器重新启动失败。" &gt;&gt; "$LOG_FILE"
&nbsp; &nbsp; exit 1
else
&nbsp; &nbsp; echo "Nginx 容器重新启动成功。" &gt;&gt; "$LOG_FILE"
fi




# 输出执行完成的消息

echo "证书更新和复制操作已完成。" &gt;&gt; "$LOG_FILE"
</pre>]]>
    </description>
    <link>https://blog.88208820.xyz/i/gengx-5inVTwGHy7v/</link>
    <itunes:episodeType>full</itunes:episodeType>
  </item>
</channel>
</rss>