<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>运维手册 - 分类 - CYBER ZEN</title><link>https://hex2rgb.github.io/categories/%E8%BF%90%E7%BB%B4%E6%89%8B%E5%86%8C/</link><description>运维手册 - 分类 - CYBER ZEN</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Sat, 04 Jul 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://hex2rgb.github.io/categories/%E8%BF%90%E7%BB%B4%E6%89%8B%E5%86%8C/" rel="self" type="application/rss+xml"/><item><title>ccrun 用户多实例 systemd 服务完整部署文档</title><link>https://hex2rgb.github.io/posts/ccrun-systemd-multi-instance-deploy/</link><pubDate>Sat, 04 Jul 2026 14:00:00 +0800</pubDate><author>Cyber Zen</author><guid>https://hex2rgb.github.io/posts/ccrun-systemd-multi-instance-deploy/</guid><description><![CDATA[<h1 id="ccrun用户多实例systemd服务完整部署文档">ccrun用户多实例systemd服务完整部署文档</h1>
<h2 id="一名词解释">一、名词解释</h2>
<ol>
<li>模板文件名：<code>ccrun-lark-bridge@.service</code>
文件里的 <code>@</code> 代表这是<strong>实例化模板</strong>，支持多套脚本共用一份配置文件。</li>
<li>命令中 <code>ccrun-lark-bridge@test</code>
<ul>
<li><code>ccrun-lark-bridge</code>：模板文件前缀名称</li>
<li><code>@</code>：固定分隔符</li>
<li><code>test</code>：实例标识，对应模板内变量 <code>%I</code></li>
</ul>
</li>
<li><code>%I</code> 替换逻辑
命令里 <code>@test</code> 的 <code>test</code> 会填充到配置里 <code>%I</code> 位置
<code>ExecStart=/home/ccrun/%I.sh run</code> → 实际执行 <code>/home/ccrun/test.sh run</code></li>
</ol>
<hr>
<h3 id="ish-脚本示例">%I.sh 脚本示例</h3>
<p>以上面的 <code>test</code> 实例为例，对应的业务脚本 <code>/home/ccrun/test.sh</code> 典型写法如下：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">LARK_CHANNEL_HOME</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$HOME</span><span class="s2">/%I&#34;</span>
</span></span><span class="line"><span class="cl">lark-channel-bridge <span class="s2">&#34;</span><span class="nv">$@</span><span class="s2">&#34;</span></span></span></code></pre></div></div>
<p>执行流程：<code>systemctl --user start ccrun-lark-bridge@test</code> → systemd 将 <code>%I</code> 替换为 <code>test</code> → 执行 <code>/home/ccrun/test.sh run</code> → 脚本设置实例独立配置目录（<code>LARK_CHANNEL_HOME</code>），调用 <code>lark-channel-bridge</code> 并透传参数。</p>
<p><strong>注意</strong>：脚本必须添加执行权限，否则启动报 <code>203/EXEC</code>：</p>]]></description></item></channel></rss>