mysql初始化启动
/etc/init.d/mysql start
halo初始化启动
nohup java -Dfile.encoding=UTF-8 -jar ~/app/halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/ &
Alist初始化启动
nohup /opt/alist/alist server &
ddns初始化启动
nohup ~/ddns/ddns-go &
脚本化运行
# #!/bin/bash
# # 启动MySQL服务
# /etc/init.d/mysql start
# # 启动Halo服务(后台运行)
# nohup java -Dfile.encoding=UTF-8 -jar ~/app/halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/ &
# # 启动Alist服务(后台运行)
# nohup /opt/alist/alist server &
# # 启动DDNS-Go服务(后台运行)
# nohup ~/ddns/ddns-go &
# # 保持脚本运行(防止退出导致后台进程终止)
# wait
#!/bin/bash
# 服务控制脚本 (支持 start/stop/restart 参数)
# 2025-03-13 更新
# 服务路径配置
MYSQL_CMD="/etc/init.d/mysql"
HALO_JAR="$HOME/app/halo.jar"
HALO_CONFIG="$HOME/.halo2/"
ALIST_BIN="/opt/alist/alist"
DDNS_GO="$HOME/ddns/ddns-go"
LOG_DIR="$HOME/service_logs"
# 启动所有服务
start_services() {
mkdir -p $LOG_DIR
# 启动MySQL
echo "[$(date +%F\ %T)] 启动MySQL..."
$MYSQL_CMD start >> $LOG_DIR/mysql.log 2>&1
# 启动Halo并记录日志
nohup java -Dfile.encoding=UTF-8 -jar $HALO_JAR \
--spring.config.additional-location=optional:file:$HALO_CONFIG \
>> $LOG_DIR/halo.log 2>&1 &
# 启动Alist
nohup $ALIST_BIN server >> $LOG_DIR/alist.log 2>&1 &
# 启动DDNS-Go
nohup $DDNS_GO >> $LOG_DIR/ddns.log 2>&1 &
echo "服务已启动 | 查看日志: ls $LOG_DIR"
}
# 停止所有服务
stop_services() {
# 停止Java服务(Halo)
pkill -f "halo.jar" >> $LOG_DIR/halo_stop.log 2>&1
# 停止Alist
pkill -f "alist server" >> $LOG_DIR/alist_stop.log 2>&1
# 停止DDNS-Go
pkill -f "ddns-go" >> $LOG_DIR/ddns_stop.log 2>&1
echo "Halo. DDNS. Alist服务已停止"
}
# 根据参数执行操作
case "$1" in
start)
start_services
;;
stop)
stop_services
;;
restart)
stop_services
sleep 3
start_services
;;
*)
echo "用法: $0 {start|stop|restart}"
exit 1
esac
给执行权限
chmod +x service_init.sh