Redis用のシステムサービスファイルを作成しようとしています。
これは私のファイルです:
[Unit]
PartOf=smp-data-services.target
Description=Redis persistent key-value database
After=network.target
[Service]
ExecStart=/opt/eg/share/redis/bin/redis-server
ExecStop=/opt/eg/share/redis/bin/redis-cli
Restart=on-failure
User=eg
Group=eg
[Install]
WantedBy=multi-user.target
私が何をしても、次のような結果が表示されます。
# systemctl daemon-reload
systemd: redis.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.
次の問題なくコマンドラインからredisを起動できます。
/opt/eg/share/redis/bin/redis-server
redisデーモンの分岐プロセスは非標準なので、Type = forkingまたはoneshotを避ける必要があることを読んでいます。
ベストアンサー1
[service]セクションでExecStartコマンドをクリーンアップする必要があります。
[Unit]
PartOf=smp-data-services.target
Description=Redis persistent key-value database
After=network.target
[Service]
ExecStart=
ExecStart=/opt/eg/share/redis/bin/redis-server
ExecStop=/opt/eg/share/redis/bin/redis-cli
Restart=on-failure
User=eg
Group=eg
[Install]
WantedBy=multi-user.target