update script
This commit is contained in:
143
ctrl.sh
Executable file
143
ctrl.sh
Executable file
@@ -0,0 +1,143 @@
|
||||
#!/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 $@
|
||||
Reference in New Issue
Block a user