Bootstrap

Centos7.9下 systemd方式服务延迟启动的实现技巧(且适用于docker-pxc集群开机自启)

目标,让开机后 docker.service延迟启动

一.定义延迟启动脚本


#!/bin/bash

sed -i 's/safe_to_bootstrap: 0/safe_to_bootstrap: 9/g' /var/lib/docker/volumes/d-compose_v301/_data/grastate.dat

sleep 10  # 等待10秒后启动Docker服务
systemctl start docker.service

二.定义该脚本的延时启动服务 delay.service
 

[Unit]
Description=my delay Service
After=network.target

[Service]
Type=forking
User=root
WorkingDirectory=/etc/systemd/system/
ExecStart=/etc/systemd/system/delay.sh
TimeoutStartSec=200
[Install]
WantedBy=multi-user.target

TimeoutStartSec=200

注意,这个时间要比.sh中的延迟大一些,否则系统会检测该服务超时失败退出

另外 Type=forking 变成 Type=simple也行

-------------------------------------------

systemctl daemon-reload

systemctl enable delay.service //让delay.service自启动

systemctl disable test.service //不让test.service自启动

;