apt install curl wget -y
cd /usr/local/bin
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mkdir -p /data/minio
touch /data/minio/management.sh
chmod +x /data/minio/management.sh
vi /data/minio/management.sh
#!/bin/bash
export MINIO_ROOT_USER="admin"
export MINIO_ROOT_PASSWORD="12341234" ##
# MinIO 관리 스크립트
SERVICE="minio"
LOG_FILE="/data/minio/minio.log"
MINIO_BIN="/usr/local/bin/minio"
MINIO_VOLUMES="/data/minio"
CONSOLE_ADDRESS=":9001"
start_minio() {
echo "MinIO 서비스를 시작합니다."
$MINIO_BIN server $MINIO_VOLUMES --console-address "$CONSOLE_ADDRESS" >> $LOG_FILE 2>&1 &
echo "MinIO가 시작되었습니다. 로그는 $LOG_FILE 에 저장됩니다."
}
stop_minio() {
echo "MinIO 서비스를 중지합니다."
sudo pkill -f "$MINIO_BIN server"
}
status_minio() {
if pgrep -f "$MINIO_BIN server" > /dev/null; then
echo "MinIO가 실행 중입니다."
else
echo "MinIO가 실행되지 않고 있습니다."
fi
}
restart_minio() {
stop_minio
sleep 2
start_minio
}
# 스크립트 사용법 확인
if [ $# -eq 0 ]; then
echo "사용법: $0 {start|stop|status|restart}"
exit 1
fi
# 명령어 실행
case "$1" in
start)
start_minio
;;
stop)
stop_minio
;;
status)
status_minio
;;
restart)
restart_minio
;;
*)
echo "사용법: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
vi /etc/systemd/system/minio.service
[Unit]
Description=MinIO Management Script
After=network.target
[Service]
Type=forking
Restart=always
RestartSec=1
SuccessExitStatus=143
ExecStart=/data/minio/management.sh start
ExecStop=/data/minio/management.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio