144 lines
3.3 KiB
Bash
Executable File
144 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# vi: set tabstop=4 shiftwidth=4 expandtab :
|
|
ROOTDIR=$(cd "$(dirname "$0")" && pwd)
|
|
cd $ROOTDIR
|
|
|
|
# \
|
|
# == Constants ============================================================== #
|
|
# /
|
|
DKRNAME=tools--phpmyadmin
|
|
NAME=phpMyAdmin
|
|
|
|
# \
|
|
# == Colors ================================================================= #
|
|
# /
|
|
CW="\033[1;37m"
|
|
CG="\033[0;32m"
|
|
CY="\033[0;33m"
|
|
NC="\033[0m"
|
|
II="${CW}╡${CG}ctrl${CW}╞${NC}"
|
|
|
|
echo -e "${II} ${CY}Container CTRL Script ${CG}b20211219-0247${NC}"
|
|
|
|
# \
|
|
# == Function =============================================================== #
|
|
# /
|
|
function main {
|
|
case "$1" in
|
|
'start') fn_start ;;
|
|
'stop') fn_stop ;;
|
|
'restart') fn_stop && fn_start ;;
|
|
'logs') fn_logs ;;
|
|
'shell') fn_shell ;;
|
|
'backup') fn_backup ;;
|
|
'update') fn_update_config ;;
|
|
*) echo -e "${II} Use: start, stop, restart, logs, shell, backup, update" ;;
|
|
esac
|
|
}
|
|
|
|
# \
|
|
# == Fun:Container ========================================================== #
|
|
# /
|
|
function fn_start {
|
|
if [ $(fn_container_check) = 1 ]
|
|
then
|
|
echo -e "${II} $NAME is runned."
|
|
elif [ $(fn_container_check2) = 1 ]
|
|
then
|
|
echo -e "${II} $NAME container is down. Need restart."
|
|
else
|
|
echo -e "${II} Start $NAME container..."
|
|
local CONTAINER_ID=$(podman run -d \
|
|
--name "$DKRNAME" \
|
|
--memory '512M' \
|
|
--volume /etc/timezone:/etc/timezone:ro \
|
|
--volume /etc/localtime:/etc/localtime:ro \
|
|
--publish "0.0.0.0:9091:80" \
|
|
--env 'PMA_ARBITRARY=1' \
|
|
phpmyadmin:5.1.1-apache
|
|
)
|
|
echo $CONTAINER_ID
|
|
fi
|
|
}
|
|
|
|
function fn_stop {
|
|
if [ $(fn_container_check) = 1 ]
|
|
then
|
|
echo -e "${II} Stop $NAME container..."
|
|
podman stop $DKRNAME
|
|
fi
|
|
|
|
|
|
if [ $(fn_container_check2) = 1 ]
|
|
then
|
|
echo -e "${II} Remove $NAME container..."
|
|
local CONTAINER_ID=$(podman rm $DKRNAME)
|
|
echo $CONTAINER_ID
|
|
else
|
|
echo -e "${II} $NAME not runned."
|
|
fi
|
|
}
|
|
|
|
function fn_logs {
|
|
if [ $(fn_container_check2) = 1 ]
|
|
then
|
|
podman logs --tail 10 -f $DKRNAME
|
|
else
|
|
echo -e "${II} $NAME not exists."
|
|
fi
|
|
}
|
|
|
|
function fn_shell {
|
|
if [ $(fn_container_check) = 1 ]
|
|
then
|
|
echo -e "${II} Enter shell in $NAME container..."
|
|
podman exec -it $DKRNAME sh
|
|
else
|
|
echo -e "${II} $NAME not runned."
|
|
fi
|
|
}
|
|
|
|
function fn_update_config {
|
|
if [ $(fn_container_check) = 1 ]
|
|
then
|
|
echo -e "${II} Update config $NAME..."
|
|
podman kill --signal=HUP $DKRNAME
|
|
else
|
|
echo -e "${II} $NAME not runned."
|
|
fi
|
|
}
|
|
|
|
function fn_container_check {
|
|
if [[ -n $(podman ps --filter "name=$DKRNAME" -q) ]]
|
|
then
|
|
echo 1
|
|
else
|
|
echo 0
|
|
fi
|
|
}
|
|
|
|
function fn_container_check2 {
|
|
if [[ -n $(podman ps --filter "name=$DKRNAME" -qa) ]]
|
|
then
|
|
echo 1
|
|
else
|
|
echo 0
|
|
fi
|
|
}
|
|
|
|
# \
|
|
# == Other ================================================================== #
|
|
# /
|
|
function fn_backup {
|
|
BASENAME=$(basename "$(cd "$(dirname "$0")" && pwd)")
|
|
ARCHIVE=$BASENAME-$(date +%Y%m%d)
|
|
|
|
echo -e "${II} Backup..."
|
|
tar -cf - -- \
|
|
*.sh \
|
|
| 7z a -bso0 -si $ARCHIVE.tar.7z
|
|
echo -e "${II} $(du -sh $ARCHIVE.tar.7z)"
|
|
}
|
|
|
|
main $@
|