gpt4 book ai didi

svn - 如何使用 systemctl systemd 启动 svnserve

转载 作者:行者123 更新时间:2023-12-03 17:40:07 32 4
gpt4 key购买 nike

debian jessie 中的 subversion 包不包含 systemd 服务文件。什么是最简单的自动启动解决方案。我试试

[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target

[Service]
Type=forking
#EnvironmentFile=/etc/conf.d/svnserve
#ExecStart=/usr/bin/svnserve --daemon $SVNSERVE_ARGS
ExecStart=/usr/bin/svnserve -d -r /svnFolder/repositories
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=svnserve.service

它是 https://bbs.archlinux.org/viewtopic.php?id=190127 的改编版但我已经将参数直接放在 svnserve 此处。

什么可以改进?

最佳答案

这是设置 svnserve 的建议使用专用 svn 运行的服务“the-Debian-way”具有正确日志记录的服务帐户。根据 FHS ,存储库应存储在 /srv/ :

mkdir -p /srv/svn/repos; chown svn /srv/svn/repos
一、systemd的服务配置 /etc/systemd/system/svnserve.service :
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target

[Service]
Type=forking
RuntimeDirectory=svnserve
PIDFile=/run/svnserve/svnserve.pid
EnvironmentFile=/etc/default/svnserve
ExecStart=/usr/bin/svnserve $DAEMON_ARGS
User=svn
Group=svn
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=multi-user.target
二、 /etc/default/svnserve处的服务启动选项:
# svnserve options
DAEMON_ARGS="--daemon --pid-file /run/svnserve/svnserve.pid --root /srv/svn/repos --log-file /var/log/svnserve/svnserve.log"
为了正常工作,日志文件的文件夹也必须以正确的所有权和运行位置为 pid 文件创建:
mkdir /var/log/svnserve; chown svn /var/log/svnserve
mkdir -p /run/svnserve; chown svn /run/svnserve
以日志轮换配置结束 /etc/logrotate.d/svnserve :
/var/log/svnserve/*.log {
daily
missingok
rotate 14
compress
notifempty
create 640 svn adm
sharedscripts
postrotate
if /bin/systemctl status svnserve > /dev/null ; then \
/bin/systemctl restart svnserve > /dev/null; \
fi;
endscript
}
希望这可以帮助。

关于svn - 如何使用 systemctl systemd 启动 svnserve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38197727/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com