elasticsearch-systemctl.sh

su es;/opt/elasticsearch-7.11.2/bin/elasticsearch -d #!/bin/bash # 自动部署 elasticsearch 的 systemd 服务并配置自启动 # 定义服务名称及路径 SERVICE_NAME="elasticsearch.serv

su es;/opt/elasticsearch-7.11.2/bin/elasticsearch -d

#!/bin/bash
# 自动部署 elasticsearch 的 systemd 服务并配置自启动

# 定义服务名称及路径
SERVICE_NAME="elasticsearch.service"
SERVICE_PATH="/etc/systemd/system/$SERVICE_NAME"

# 检测 root 权限
if [ "$(id -u)" != "0" ]; then
    echo "错误:此脚本必须使用 root 权限运行!"
    exit 1
fi

# 步骤 1: 创建 systemd 服务文件
echo "创建 systemd 服务文件: $SERVICE_PATH"
cat <<EOF > "$SERVICE_PATH"
[Unit]
Description=Elasticsearch Service (Version 7.11.2)
Documentation=https://www.elastic.co/guide/en/elasticsearch/reference/7.11/index.html
After=network.target

[Service]
# 核心配置
User=es
#Group=es                  
Type=forking
LimitNOFILE=65535
# 启动命令
ExecStart=/opt/elasticsearch-7.11.2/bin/elasticsearch -d

# 方案1: 直接输出到journald
StandardOutput=journal
StandardError=journal

# 故障恢复策略
Restart=on-failure
RestartSec=10s
StartLimitInterval=60s
StartLimitBurst=3

[Install]
WantedBy=multi-user.target
EOF

chmod 644 "$SERVICE_PATH"
echo "服务文件权限已设置."
systemctl daemon-reload
echo "systemd 配置已重载."
systemctl enable $SERVICE_NAME
systemctl start $SERVICE_NAME
echo "服务已启用并启动."
echo "服务状态检查:"
systemctl status $SERVICE_NAME --no-pager

LICENSED UNDER CC BY-NC-SA 4.0
Comment