Add files via upload

This commit is contained in:
Harold Finch
2023-04-10 07:22:09 +02:00
committed by GitHub
parent 12cd50b598
commit d1a4c3e77a
51 changed files with 13206 additions and 0 deletions

106
rc_scripts/iredadmin.debian Normal file
View File

@@ -0,0 +1,106 @@
#!/usr/bin/env bash
# Author: Zhang Huangbin (zhb@iredmail.org)
### BEGIN INIT INFO
# Provides: api-server
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: iredadmin instance
# Description: iredadmin
### END INIT INFO
PROG='iredadmin'
PIDFILE='/var/run/iredadmin/iredadmin.pid'
UWSGI_INI_FILE='/opt/www/iredadmin/rc_scripts/uwsgi/debian.ini'
check_status() {
# Usage: check_status pid_number
PID="${1}"
l=$(ps -p ${PID} | wc -l | awk '{print $1}')
if [ X"$l" == X"2" ]; then
echo "running"
else
echo "stopped"
fi
}
start() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "${PROG} is already running."
exit 0
else
rm -f ${PIDFILE} >/dev/null 2>&1
fi
unset s
fi
mkdir /var/run/iredadmin 2>/dev/null
chown iredadmin:iredadmin /var/run/iredadmin
chmod 0755 /var/run/iredadmin
echo "Starting ${PROG} ..."
uwsgi -d \
--ini ${UWSGI_INI_FILE} \
--pidfile ${PIDFILE} \
--log-syslog
}
stop() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "Stopping ${PROG} ..."
uwsgi --stop ${PIDFILE}
if [ X"$?" == X"0" ]; then
rm -f ${PIDFILE} >/dev/null 2>&1
rm -rf /var/run/iredadmin
else
echo -e "\t\t[ FAILED ]"
fi
else
echo "${PROG} is already stopped."
rm -f ${PIDFILE} >/dev/null 2>&1
fi
else
echo "${PROG} is already stopped."
fi
unset s
}
status() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "${PROG} is running."
exit 0
else
echo "${PROG} is stopped."
exit 1
fi
else
echo "${PROG} is stopped."
exit 3
fi
}
case "$1" in
start) start ;;
stop) stop ;;
status) status ;;
restart) stop && start ;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
;;
esac

View File

@@ -0,0 +1,110 @@
#!/bin/sh
# Author: Zhang Huangbin <zhb@iredmail.org>
# PROVIDE: iredadmin
# REQUIRE: DAEMON
# KEYWORD: shutdown
. /etc/rc.subr
name='iredadmin'
rcvar=`set_rcvar_obsolete`
start_precmd="iredadmin_precmd"
RUN_DIR='/var/run/iredadmin'
PIDFILE="${RUN_DIR}/iredadmin.pid"
UWSGI_INI_FILE='/opt/www/iredadmin/rc_scripts/uwsgi/freebsd.ini'
PATH="/usr/local/bin:/usr/local/sbin:$PATH"
iredadmin_precmd() {
/usr/bin/install -m 0644 -o iredadmin -g iredadmin -d ${RUN_DIR}
}
check_status() {
# Usage: check_status pid_number
PID="${1}"
l=$(ps -p ${PID} | wc -l | awk '{print $1}')
if [ X"$l" == X"2" ]; then
echo "running"
else
echo "stopped"
fi
}
start() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "${name} is already running."
else
rm -f ${PIDFILE} >/dev/null 2>&1
fi
unset s
fi
/bin/mkdir $(dirname ${PIDFILE}) 2>/dev/null
/usr/sbin/chown iredadmin:iredadmin $(dirname ${PIDFILE})
echo "Starting ${name}."
uwsgi --ini ${UWSGI_INI_FILE} \
--pidfile ${PIDFILE} \
--log-syslog \
--daemonize /dev/null
}
stop() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "Stopping ${name}."
uwsgi --stop ${PIDFILE}
if [ X"$?" == X"0" ]; then
rm -f ${PIDFILE} >/dev/null 2>&1
else
echo -e "\t\t[ FAILED ]"
fi
else
echo "${name} is already stopped."
rm -f ${PIDFILE} >/dev/null 2>&1
fi
unset s
else
echo "${name} is already stopped."
fi
}
status() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "${name} is running."
exit 0
else
echo "${name} is stopped."
exit 1
fi
unset s
else
echo "${name} is stopped."
exit 3
fi
}
start_cmd="start"
stop_cmd="stop"
status_cmd="status"
restart_cmd="stop && sleep 2 && start"
command="start"
load_rc_config ${name}
run_rc_command "$1"

View File

@@ -0,0 +1,23 @@
#!/bin/ksh
# Author: Zhang Huangbin <zhb@iredmail.org>
# Purpose: Start/stop iRedAdmin uwsgi instance.
RUN_DIR='/var/run/iredadmin'
PID_FILE="${RUN_DIR}/iredadmin.pid"
UWSGI_INI_FILE='/opt/www/iredadmin/rc_scripts/uwsgi/openbsd.ini'
daemon="/usr/local/bin/uwsgi --ini ${UWSGI_INI_FILE} --log-syslog --pidfile ${PID_FILE} --daemonize /dev/null"
daemon_user='iredadmin'
daemon_group='iredadmin'
. /etc/rc.d/rc.subr
rc_pre() {
install -d -o ${daemon_user} -g ${daemon_group} -m 0775 ${RUN_DIR}
}
rc_stop() {
kill -INT `cat ${PID_FILE}`
}
rc_cmd $1

104
rc_scripts/iredadmin.rhel Normal file
View File

@@ -0,0 +1,104 @@
#!/usr/bin/env bash
# Author: Zhang Huangbin (zhb@iredmail.org)
### BEGIN INIT INFO
# chkconfig: - 99 99
# description: iredadmin instance
# processname: iredadmin
### END INIT INFO
PROG='iredadmin'
BINPATH='/opt/www/iredadmin/iredadmin.py'
PIDFILE='/var/run/iredadmin/iredadmin.pid'
UWSGI_INI_FILE='/opt/www/iredadmin/rc_scripts/uwsgi/rhel.ini'
check_status() {
# Usage: check_status pid_number
PID="${1}"
l=$(ps -p ${PID} | wc -l | awk '{print $1}')
if [ X"$l" == X"2" ]; then
echo "running"
else
echo "stopped"
fi
}
start() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "${PROG} is already running."
else
rm -f ${PIDFILE} >/dev/null 2>&1
fi
fi
unset s
mkdir /var/run/iredadmin 2>/dev/null
chown iredadmin:iredadmin /var/run/iredadmin
chmod 0755 /var/run/iredadmin
echo "Starting ${PROG} ..."
uwsgi -d \
--ini ${UWSGI_INI_FILE} \
--pidfile ${PIDFILE} \
--log-syslog
}
stop() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "Stopping ${PROG} ..."
kill -9 ${PID}
if [ X"$?" == X"0" ]; then
rm -f ${PIDFILE} >/dev/null 2>&1
rm -rf /var/run/iredadmin
else
echo -e "\t\t[ FAILED ]"
fi
else
echo "${PROG} is already stopped."
rm -f ${PIDFILE} >/dev/null 2>&1
fi
else
echo "${PROG} is already stopped."
fi
unset s
}
status() {
if [ -f ${PIDFILE} ]; then
PID="$(cat ${PIDFILE})"
s="$(check_status ${PID})"
if [ X"$s" == X"running" ]; then
echo "${PROG} is running."
exit 0
else
echo "${PROG} is stopped."
exit 1
fi
else
echo "${PROG} is stopped."
exit 3
fi
}
case "$1" in
start) start ;;
stop) stop ;;
status) status ;;
restart) stop && sleep 1 && start ;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
;;
esac

View File

@@ -0,0 +1,17 @@
[Unit]
Description=iRedAdmin daemon service
After=network.target local-fs.target remote-fs.target
[Service]
Type=simple
ExecStartPre=-/bin/mkdir -p /var/run/iredadmin
ExecStartPre=/bin/chown iredadmin:iredadmin /var/run/iredadmin
ExecStartPre=/bin/chmod 0755 /var/run/iredadmin
ExecStart=/usr/bin/uwsgi --ini /opt/www/iredadmin/rc_scripts/uwsgi/debian.ini --pidfile /var/run/iredadmin/iredadmin.pid
ExecStop=/usr/bin/uwsgi --stop /var/run/iredadmin/iredadmin.pid
ExecStopPost=/bin/rm -rf /var/run/iredadmin
KillSignal=SIGTERM
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=iRedAdmin daemon service
After=network.target local-fs.target remote-fs.target
[Service]
Type=simple
ExecStartPre=-/usr/bin/mkdir /var/run/iredadmin
ExecStartPre=/usr/bin/chown iredadmin:iredadmin /var/run/iredadmin
ExecStartPre=/usr/bin/chmod 0755 /var/run/iredadmin
ExecStart=/usr/sbin/uwsgi --ini /opt/www/iredadmin/rc_scripts/uwsgi/rhel7.ini --pidfile /var/run/iredadmin/iredadmin.pid
ExecStop=/usr/sbin/uwsgi --stop /var/run/iredadmin/iredadmin.pid
ExecStopPost=/usr/bin/rm -rf /var/run/iredadmin
KillSignal=SIGTERM
TimeoutStopSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=iRedAdmin daemon service
After=network.target local-fs.target remote-fs.target
[Service]
Type=simple
ExecStartPre=-/usr/bin/mkdir /var/run/iredadmin
ExecStartPre=/usr/bin/chown iredadmin:iredadmin /var/run/iredadmin
ExecStartPre=/usr/bin/chmod 0755 /var/run/iredadmin
ExecStart=/usr/local/bin/uwsgi --ini /opt/www/iredadmin/rc_scripts/uwsgi/rhel8.ini --pidfile /var/run/iredadmin/iredadmin.pid
ExecStop=/usr/local/bin/uwsgi --stop /var/run/iredadmin/iredadmin.pid
ExecStopPost=/usr/bin/rm -rf /var/run/iredadmin
KillSignal=SIGTERM
TimeoutStopSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,18 @@
[Unit]
Description=iRedAdmin daemon service
After=network.target local-fs.target remote-fs.target
[Service]
Type=simple
ExecStartPre=-/usr/bin/mkdir /var/run/iredadmin
ExecStartPre=/usr/bin/chown iredadmin:iredadmin /var/run/iredadmin
ExecStartPre=/usr/bin/chmod 0755 /var/run/iredadmin
ExecStart=/usr/sbin/uwsgi --ini /opt/www/iredadmin/rc_scripts/uwsgi/rhel9.ini --pidfile /var/run/iredadmin/iredadmin.pid
ExecStop=/usr/sbin/uwsgi --stop /var/run/iredadmin/iredadmin.pid
ExecStopPost=/usr/bin/rm -rf /var/run/iredadmin
KillSignal=SIGTERM
TimeoutStopSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,17 @@
[uwsgi]
plugins = python3,syslog
master = true
vhost = true
enable-threads = true
processes = 5
buffer-size = 8192
logger = syslog:iredadmin,local5
log-format = [%(addr)] %(method) %(uri) %(status) %(size) "%(referer)"
uwsgi-socket = 127.0.0.1:7791
uid = iredadmin
gid = iredadmin
chdir = /opt/www/iredadmin
wsgi-file = iredadmin.py

View File

@@ -0,0 +1,20 @@
[uwsgi]
master = true
vhost = true
enable-threads = true
processes = 5
buffer-size = 8192
logger = syslog:iredadmin,local5
log-format = [%(addr)] %(method) %(uri) %(status) %(size) "%(referer)"
# Log pid of master process
safe-pid = true
pidfile = /var/run/iredadmin/iredadmin.pid
uwsgi-socket = 127.0.0.1:7791
uid = iredadmin
gid = iredadmin
chdir = /usr/local/www/iredadmin
wsgi-file = iredadmin.py

View File

@@ -0,0 +1,13 @@
[uwsgi]
master = true
vhost = true
enable-threads = true
processes = 5
buffer-size = 8192
logger = syslog:iredadmin,local5
log-format = [%(addr)] %(method) %(uri) %(status) %(size) "%(referer)"
uwsgi-socket = 127.0.0.1:7791
chdir = /var/www/iredadmin
wsgi-file = iredadmin.py

View File

@@ -0,0 +1,17 @@
[uwsgi]
plugins = python36,syslog
master = true
vhost = true
enable-threads = true
processes = 5
buffer-size = 8192
logger = syslog:iredadmin,local5
log-format = [%(addr)] %(method) %(uri) %(status) %(size) "%(referer)"
uwsgi-socket = 127.0.0.1:7791
uid = iredadmin
gid = iredadmin
chdir = /opt/www/iredadmin
wsgi-file = iredadmin.py

View File

@@ -0,0 +1,17 @@
[uwsgi]
plugins = python3,syslog
master = true
vhost = true
enable-threads = true
processes = 5
buffer-size = 8192
logger = syslog:iredadmin,local5
log-format = [%(addr)] %(method) %(uri) %(status) %(size) "%(referer)"
uwsgi-socket = 127.0.0.1:7791
uid = iredadmin
gid = iredadmin
chdir = /opt/www/iredadmin
wsgi-file = iredadmin.py

View File

@@ -0,0 +1,17 @@
[uwsgi]
plugins = python3,syslog
master = true
vhost = true
enable-threads = true
processes = 5
buffer-size = 8192
logger = syslog:iredadmin,local5
log-format = [%(addr)] %(method) %(uri) %(status) %(size) "%(referer)"
uwsgi-socket = 127.0.0.1:7791
uid = iredadmin
gid = iredadmin
chdir = /opt/www/iredadmin
wsgi-file = iredadmin.py