Rework step options handling
This commit is contained in:
@@ -26,11 +26,11 @@ seq_config() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_1_info() {
|
step_1_info() {
|
||||||
echoinfoArgs "[ADDITIONAL_EXCLUDES...]"
|
|
||||||
echo "Backup root"
|
echo "Backup root"
|
||||||
echoinfo "Essential excludes are provided in the configuration template."
|
echoinfo "Essential excludes are provided in the configuration template."
|
||||||
echoinfo "($CONFIG_FILE_TEMPLATE)"
|
echoinfo "($CONFIG_FILE_TEMPLATE)"
|
||||||
}
|
}
|
||||||
|
step_1_options() { echo "[ADDITIONAL_EXCLUDES...]"; }
|
||||||
step_1_alias() { echo "buroot"; }
|
step_1_alias() { echo "buroot"; }
|
||||||
step_1() {
|
step_1() {
|
||||||
local buTarget="/backup"
|
local buTarget="/backup"
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
sc_configLoc="./basics"
|
sc_configLoc="./basics"
|
||||||
|
|
||||||
step_config() {
|
seq_config() {
|
||||||
# echo "Called once before executing steps."
|
# echo "Called once before executing steps."
|
||||||
# echo "e.g. to source a config file:"
|
# echo "e.g. to source a config file:"
|
||||||
# #. "$CONFIG_FILE"
|
# #. "$CONFIG_FILE"
|
||||||
|
@@ -63,7 +63,6 @@ step_1() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_10_info() {
|
step_10_info() {
|
||||||
echoinfoArgs "[OPTIONS] [VERSION]"
|
|
||||||
echo "Install ${toolName}"
|
echo "Install ${toolName}"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " -l: (default) install composer.phar to the current directory"
|
echoinfo " -l: (default) install composer.phar to the current directory"
|
||||||
@@ -71,6 +70,7 @@ step_10_info() {
|
|||||||
echoinfo " [VERSION]"
|
echoinfo " [VERSION]"
|
||||||
echoinfo " Install this specific ${toolName} version"
|
echoinfo " Install this specific ${toolName} version"
|
||||||
}
|
}
|
||||||
|
step_10_options() { echo "[OPTIONS] [VERSION]"; }
|
||||||
step_10_alias() { echo "install"; }
|
step_10_alias() { echo "install"; }
|
||||||
step_10() {
|
step_10() {
|
||||||
shift
|
shift
|
||||||
|
@@ -107,10 +107,8 @@ step_12() {
|
|||||||
addConf -s "$ipCron" "$ipCronLoc"
|
addConf -s "$ipCron" "$ipCronLoc"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_14_info() {
|
step_14_info() { echo "Setup ufw rules to allow upnp, optionally from a sepcific SOURCE_IP"; }
|
||||||
echoinfoArgs "[SOURCE_IP]"
|
step_14_options() { echo "[SOURCE_IP]"; }
|
||||||
echo "Setup ufw rules to allow upnp, optionally from a sepcific SOURCE_IP"
|
|
||||||
}
|
|
||||||
step_14_alias() { echo "ufw"; }
|
step_14_alias() { echo "ufw"; }
|
||||||
step_14() {
|
step_14() {
|
||||||
shift
|
shift
|
||||||
|
@@ -14,7 +14,6 @@ seq_config() {
|
|||||||
|
|
||||||
step_20_info() {
|
step_20_info() {
|
||||||
shift
|
shift
|
||||||
echoinfoArgs "[FRIENDICA ROOT]"
|
|
||||||
echo -n "Create a backup"
|
echo -n "Create a backup"
|
||||||
if [ $sq_config -ne 0 ] ; then
|
if [ $sq_config -ne 0 ] ; then
|
||||||
echo " at $FR_BACKUP"
|
echo " at $FR_BACKUP"
|
||||||
@@ -22,6 +21,7 @@ step_20_info() {
|
|||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
step_20_options() { echo "[FRIENDICA ROOT]"; }
|
||||||
step_20_alias() { echo "backup"; }
|
step_20_alias() { echo "backup"; }
|
||||||
step_20() {
|
step_20() {
|
||||||
shift
|
shift
|
||||||
|
@@ -215,7 +215,8 @@ step_30() {
|
|||||||
exep cd "${LNMS_DIR}"/.. "&&" tar czf "${LNMS_BU_DIR}/$(date +%Y%m%d)_${toolName}_web.tar.gz" "$(basename "$LNMS_DIR")"
|
exep cd "${LNMS_DIR}"/.. "&&" tar czf "${LNMS_BU_DIR}/$(date +%Y%m%d)_${toolName}_web.tar.gz" "$(basename "$LNMS_DIR")"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_31_info() { echoinfoArgs "[daily|monthly(default)]"; echo "Backup ${toolName} database"; }
|
step_31_info() { echo "Backup ${toolName} database"; }
|
||||||
|
step_31_options() { echo "[daily|monthly(default)]"; }
|
||||||
step_31_alias() { echo "backupdb"; }
|
step_31_alias() { echo "backupdb"; }
|
||||||
step_31() {
|
step_31() {
|
||||||
case "${2:-}" in
|
case "${2:-}" in
|
||||||
|
@@ -46,10 +46,10 @@ step_1() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_3_info() {
|
step_3_info() {
|
||||||
echoinfoArgs "[MESSAGE] [MESSAGE] ..."
|
|
||||||
echo "Send message"
|
echo "Send message"
|
||||||
echoinfo "Each string ([MESSAGE]) is send as separate message"
|
echoinfo "Each string ([MESSAGE]) is send as separate message"
|
||||||
}
|
}
|
||||||
|
step_3_options() { echo "[MESSAGE] [MESSAGE] ..."; }
|
||||||
step_3_alias() { echo "message"; }
|
step_3_alias() { echo "message"; }
|
||||||
step_3() {
|
step_3() {
|
||||||
shift
|
shift
|
||||||
|
@@ -189,9 +189,9 @@ step_12() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_14_info() {
|
step_14_info() {
|
||||||
echoinfoArgs "[IP]:8008"
|
|
||||||
echo "Show $toolName version"
|
echo "Show $toolName version"
|
||||||
}
|
}
|
||||||
|
step_14_options() { echo "[IP]:8008"; }
|
||||||
step_14_alias() { echo "version"; }
|
step_14_alias() { echo "version"; }
|
||||||
step_14() {
|
step_14() {
|
||||||
local synapseIP=localhost
|
local synapseIP=localhost
|
||||||
@@ -204,11 +204,11 @@ step_14() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_16_info() {
|
step_16_info() {
|
||||||
echoinfoArgs "[OPTION] [IP]:8008"
|
|
||||||
echo "List all registered users"
|
echo "List all registered users"
|
||||||
echoinfo "[OPTION]"
|
echoinfo "[OPTION]"
|
||||||
echoinfo " -r : Raw json output"
|
echoinfo " -r : Raw json output"
|
||||||
}
|
}
|
||||||
|
step_16_options() { echo "[OPTION] [IP]:8008"; }
|
||||||
step_16_alias() { echo "listuser"; }
|
step_16_alias() { echo "listuser"; }
|
||||||
step_16() {
|
step_16() {
|
||||||
adminTokenCheck
|
adminTokenCheck
|
||||||
@@ -244,10 +244,10 @@ step_18() {
|
|||||||
|
|
||||||
step_20_info() {
|
step_20_info() {
|
||||||
shift
|
shift
|
||||||
echoinfoArgs "[USER NAME]"
|
|
||||||
echo -n "Reset user password"
|
echo -n "Reset user password"
|
||||||
contextExe && echoinfo " for ${1:-}" || echo
|
contextExe && echoinfo " for ${1:-}" || echo
|
||||||
}
|
}
|
||||||
|
step_20_options() { echo "[USER NAME]"; }
|
||||||
step_20_alias() { echo "resetpw"; }
|
step_20_alias() { echo "resetpw"; }
|
||||||
step_20() {
|
step_20() {
|
||||||
shift
|
shift
|
||||||
@@ -271,11 +271,11 @@ step_20() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_22_info() {
|
step_22_info() {
|
||||||
echoinfoArgs "[OPTION] [IP]:8008"
|
|
||||||
echo "List all rooms"
|
echo "List all rooms"
|
||||||
echoinfo "[OPTION]"
|
echoinfo "[OPTION]"
|
||||||
echoinfo " -r : Raw json output"
|
echoinfo " -r : Raw json output"
|
||||||
}
|
}
|
||||||
|
step_22_options() { echo "[OPTION] [IP]:8008"; }
|
||||||
step_22_alias() { echo "listrooms"; }
|
step_22_alias() { echo "listrooms"; }
|
||||||
step_22() {
|
step_22() {
|
||||||
adminTokenCheck
|
adminTokenCheck
|
||||||
@@ -305,11 +305,11 @@ step_22() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_24_info() {
|
step_24_info() {
|
||||||
echoinfoArgs "[OPTION] [ROOM ID] [IP]:8008"
|
|
||||||
echo "List all room members"
|
echo "List all room members"
|
||||||
echoinfo "[OPTION]"
|
echoinfo "[OPTION]"
|
||||||
echoinfo " -r : Raw json output"
|
echoinfo " -r : Raw json output"
|
||||||
}
|
}
|
||||||
|
step_24_options() { echo "[OPTION] [ROOM ID] [IP]:8008"; }
|
||||||
step_24_alias() { echo "listmember"; }
|
step_24_alias() { echo "listmember"; }
|
||||||
step_24() {
|
step_24() {
|
||||||
adminTokenCheck
|
adminTokenCheck
|
||||||
@@ -344,10 +344,10 @@ step_24() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_26_info() {
|
step_26_info() {
|
||||||
echoinfoArgs "[IP]:8008"
|
|
||||||
echo "Delete rooms without local users"
|
echo "Delete rooms without local users"
|
||||||
echoinfo " [IP] : default is localhost"
|
echoinfo " [IP] : default is localhost"
|
||||||
}
|
}
|
||||||
|
step_26_options() { echo "[IP]:8008"; }
|
||||||
step_26_alias() { echo "purge"; }
|
step_26_alias() { echo "purge"; }
|
||||||
step_26() {
|
step_26() {
|
||||||
adminTokenCheck
|
adminTokenCheck
|
||||||
@@ -373,10 +373,8 @@ step_26() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
step_28_info() {
|
step_28_info() { echo "Delete room"; }
|
||||||
echoinfoArgs "<ROOM ID> [IP]:8008"
|
step_28_options() { echo "<ROOM ID> [IP]:8008"; }
|
||||||
echo "Delete room"
|
|
||||||
}
|
|
||||||
step_28_alias() { echo "deleteroom"; }
|
step_28_alias() { echo "deleteroom"; }
|
||||||
step_28() {
|
step_28() {
|
||||||
adminTokenCheck
|
adminTokenCheck
|
||||||
@@ -420,7 +418,8 @@ postDataDeleteRoom()
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
step_30_info() { echoinfoArgs "[DATABASE]"; echo "Debloat postgres"; echo; }
|
step_30_info() { echo "Debloat postgres"; echo; }
|
||||||
|
step_30_options() { echo "[DATABASE]"; }
|
||||||
step_30_alias() { echo "debloat"; }
|
step_30_alias() { echo "debloat"; }
|
||||||
step_30() {
|
step_30() {
|
||||||
shift
|
shift
|
||||||
|
@@ -128,12 +128,12 @@ step_12() {
|
|||||||
|
|
||||||
|
|
||||||
step_30_info() {
|
step_30_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Download go"
|
echo "Download go"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " --arch, -a : armhf(default), arm64"
|
echoinfo " --arch, -a : armhf(default), arm64"
|
||||||
echoinfo " CPU architecture for downloading go sources"
|
echoinfo " CPU architecture for downloading go sources"
|
||||||
}
|
}
|
||||||
|
step_30_options() { echo "[OPTIONS]"; }
|
||||||
step_30_alias() { echo "build"; }
|
step_30_alias() { echo "build"; }
|
||||||
step_30() {
|
step_30() {
|
||||||
shift
|
shift
|
||||||
|
@@ -121,12 +121,12 @@ save \"\"
|
|||||||
databases 2"
|
databases 2"
|
||||||
|
|
||||||
step_10_info() {
|
step_10_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Upgrade $toolName to ${toolVersion:-"latest Version"}"
|
echo "Upgrade $toolName to ${toolVersion:-"latest Version"}"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " super : update also supervisor configuration"
|
echoinfo " super : update also supervisor configuration"
|
||||||
echoinfo " (manual redis password update may be needed)"
|
echoinfo " (manual redis password update may be needed)"
|
||||||
}
|
}
|
||||||
|
step_10_options() { echo "[OPTIONS]"; }
|
||||||
step_10_alias() { echo "upgrade"; }
|
step_10_alias() { echo "upgrade"; }
|
||||||
step_10() {
|
step_10() {
|
||||||
shift # don't need the step number
|
shift # don't need the step number
|
||||||
|
@@ -54,7 +54,6 @@ step_8() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_10_info() {
|
step_10_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Create mysql database without specific characterset"
|
echo "Create mysql database without specific characterset"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " --charset,-c <utf8|utf8mb4> : character set and collate"
|
echoinfo " --charset,-c <utf8|utf8mb4> : character set and collate"
|
||||||
@@ -64,6 +63,7 @@ step_10_info() {
|
|||||||
echoinfo " Manual password entry for non existing user"
|
echoinfo " Manual password entry for non existing user"
|
||||||
echoinfo " --remote, -r : ip of allowed remote host"
|
echoinfo " --remote, -r : ip of allowed remote host"
|
||||||
}
|
}
|
||||||
|
step_10_options() { echo "[OPTIONS]"; }
|
||||||
step_10_alias() { echo "createdb"; }
|
step_10_alias() { echo "createdb"; }
|
||||||
step_10() {
|
step_10() {
|
||||||
local arg
|
local arg
|
||||||
@@ -110,13 +110,13 @@ step_10() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_11_info() {
|
step_11_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Create mysql user"
|
echo "Create mysql user"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " --user, -u : user name"
|
echoinfo " --user, -u : user name"
|
||||||
echoinfo " with manual password entry for non existing user"
|
echoinfo " with manual password entry for non existing user"
|
||||||
echoinfo " --remote, -r : ip of allowed remote host"
|
echoinfo " --remote, -r : ip of allowed remote host"
|
||||||
}
|
}
|
||||||
|
step_11_options() { echo "[OPTIONS]"; }
|
||||||
step_11_alias() { echo "createuser"; }
|
step_11_alias() { echo "createuser"; }
|
||||||
step_11() {
|
step_11() {
|
||||||
local arg
|
local arg
|
||||||
@@ -162,13 +162,13 @@ step_11() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_12_info() {
|
step_12_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Grant privileges"
|
echo "Grant privileges"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " --database, -d : 'database name'.*"
|
echoinfo " --database, -d : 'database name'.*"
|
||||||
echoinfo " --user, -u : user name"
|
echoinfo " --user, -u : user name"
|
||||||
echoinfo " --remote, -r : ip of allowed remote host"
|
echoinfo " --remote, -r : ip of allowed remote host"
|
||||||
}
|
}
|
||||||
|
step_12_options() { echo "[OPTIONS]"; }
|
||||||
step_12_alias() { echo "grant"; }
|
step_12_alias() { echo "grant"; }
|
||||||
step_12() {
|
step_12() {
|
||||||
local arg
|
local arg
|
||||||
@@ -200,12 +200,12 @@ step_12() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_14_info() {
|
step_14_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Revoke all granted privilegs"
|
echo "Revoke all granted privilegs"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " --user, -u : user name"
|
echoinfo " --user, -u : user name"
|
||||||
echoinfo " --remote, -r : ip of allowed remote host"
|
echoinfo " --remote, -r : ip of allowed remote host"
|
||||||
}
|
}
|
||||||
|
step_14_options() { echo "[OPTIONS]"; }
|
||||||
step_14_alias() { echo "revokeall"; }
|
step_14_alias() { echo "revokeall"; }
|
||||||
step_14() {
|
step_14() {
|
||||||
local arg
|
local arg
|
||||||
@@ -245,12 +245,12 @@ step_32() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_34_info() {
|
step_34_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Show privileges"
|
echo "Show privileges"
|
||||||
echoinfo " [OPTIONS]"
|
echoinfo " [OPTIONS]"
|
||||||
echoinfo " --user, -u : user name"
|
echoinfo " --user, -u : user name"
|
||||||
echoinfo " --remote, -r : ip of allowed remote host"
|
echoinfo " --remote, -r : ip of allowed remote host"
|
||||||
}
|
}
|
||||||
|
step_34_options() { echo "[OPTIONS]"; }
|
||||||
step_34_alias() { echo "listprivileges"; }
|
step_34_alias() { echo "listprivileges"; }
|
||||||
step_34() {
|
step_34() {
|
||||||
local arg
|
local arg
|
||||||
@@ -272,10 +272,8 @@ step_34() {
|
|||||||
exe mysql -u root -e 'SHOW GRANTS FOR '"'"$dbUser"'"'@'"'"$dbRemote"'"';'
|
exe mysql -u root -e 'SHOW GRANTS FOR '"'"$dbUser"'"'@'"'"$dbRemote"'"';'
|
||||||
}
|
}
|
||||||
|
|
||||||
step_36_info() {
|
step_36_info() { echo "Size of database"; }
|
||||||
echoinfoArgs "[DATABASE_NAME]"
|
step_36_options() { echo "[DATABASE_NAME]"; }
|
||||||
echo "Size of database"
|
|
||||||
}
|
|
||||||
step_36_alias() { echo "sizedb"; }
|
step_36_alias() { echo "sizedb"; }
|
||||||
step_36() {
|
step_36() {
|
||||||
if [ -z "${2:-}" ]; then
|
if [ -z "${2:-}" ]; then
|
||||||
@@ -289,10 +287,8 @@ step_36() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
step_50_info() {
|
step_50_info() { echo "Backup (dump) a mysql database"; }
|
||||||
echoinfoArgs "<DATABASE NAME> <TARGET DIR>"
|
step_50_options() { echo "<DATABASE NAME> <TARGET DIR>"; }
|
||||||
echo "Backup (dump) a mysql database"
|
|
||||||
}
|
|
||||||
step_50_alias() { echo "backup"; }
|
step_50_alias() { echo "backup"; }
|
||||||
step_50() {
|
step_50() {
|
||||||
shift # step number not used
|
shift # step number not used
|
||||||
|
@@ -22,10 +22,8 @@ seq_config() {
|
|||||||
localOcc=( sudo -u $sc_ncServerUser php "$(escpath "$sc_ncInstallDir/occ")" )
|
localOcc=( sudo -u $sc_ncServerUser php "$(escpath "$sc_ncInstallDir/occ")" )
|
||||||
}
|
}
|
||||||
|
|
||||||
step_1_info() {
|
step_1_info() { echo "Execute occ command"; }
|
||||||
echoinfoArgs "[OCC ARGS]"
|
step_1_options() { echo "[OCC ARGS]"; }
|
||||||
echo "Execute occ command"
|
|
||||||
}
|
|
||||||
step_1_alias() { echo "occ"; }
|
step_1_alias() { echo "occ"; }
|
||||||
step_1() {
|
step_1() {
|
||||||
shift
|
shift
|
||||||
@@ -55,7 +53,8 @@ step_21() {
|
|||||||
step occ app:update --all
|
step occ app:update --all
|
||||||
}
|
}
|
||||||
|
|
||||||
step_102_info() { echoinfoArgs "<NC DATABASE> <IPV4 ADDRESS>"; echo "Delete IP from bruteforce table"; }
|
step_102_info() { echo "Delete IP from bruteforce table"; }
|
||||||
|
step_102_options() { echo "<NC DATABASE> <IPV4 ADDRESS>"; }
|
||||||
step_102_alias() { echo "bruteforceRemoveIP"; }
|
step_102_alias() { echo "bruteforceRemoveIP"; }
|
||||||
step_102() {
|
step_102() {
|
||||||
shift
|
shift
|
||||||
@@ -85,7 +84,8 @@ step_102() {
|
|||||||
endReturn -o $? "Error deleting ip $ip"
|
endReturn -o $? "Error deleting ip $ip"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_104_info() { echoinfoArgs "<USER>"; echo "Reset and rescan the music library in the background for one user"; }
|
step_104_info() { echo "Reset and rescan the music library in the background for one user"; }
|
||||||
|
step_104_options() { echo "<USER>"; }
|
||||||
step_104_alias() { echo "audioreset"; }
|
step_104_alias() { echo "audioreset"; }
|
||||||
step_104() {
|
step_104() {
|
||||||
shift
|
shift
|
||||||
@@ -101,7 +101,8 @@ step_104() {
|
|||||||
exep "${localOcc[@]} audioplayer:scan -vvvv $ncUser >> /var/log/ncAudioRescan.log &"
|
exep "${localOcc[@]} audioplayer:scan -vvvv $ncUser >> /var/log/ncAudioRescan.log &"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_106_info() { echoinfoArgs "<USER>"; echo "Scan the music library"; }
|
step_106_info() { echo "Scan the music library"; }
|
||||||
|
step_106_options() { echo "<USER>"; }
|
||||||
step_106_alias() { echo "audioscan"; }
|
step_106_alias() { echo "audioscan"; }
|
||||||
step_106() {
|
step_106() {
|
||||||
shift
|
shift
|
||||||
|
@@ -95,11 +95,11 @@ step_4() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_5_info() {
|
step_5_info() {
|
||||||
echoinfoArgs "[SECRET]"
|
|
||||||
echo "Install/start onlyoffice docker container"
|
echo "Install/start onlyoffice docker container"
|
||||||
echoinfo "If [SECRET] is empty, user input will be available if not run --quiet."
|
echoinfo "If [SECRET] is empty, user input will be available if not run --quiet."
|
||||||
echoinfo "$toolName will be run unsecured if no secret was provied."
|
echoinfo "$toolName will be run unsecured if no secret was provied."
|
||||||
}
|
}
|
||||||
|
step_5_options() { echo "[SECRET]"; }
|
||||||
step_5_alias() { echo "startoo"; }
|
step_5_alias() { echo "startoo"; }
|
||||||
step_5() {
|
step_5() {
|
||||||
local options=
|
local options=
|
||||||
|
@@ -59,7 +59,8 @@ step_1() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
step_3_info() { echoinfoArgs "[status|start|stop|restart]"; echo "Manage ${toolName} services"; }
|
step_3_info() { echo "Manage ${toolName} services"; }
|
||||||
|
step_3_options() { echo "[status|start|stop|restart]"; }
|
||||||
step_3_alias() { echo "service"; }
|
step_3_alias() { echo "service"; }
|
||||||
step_3() {
|
step_3() {
|
||||||
shift
|
shift
|
||||||
@@ -200,12 +201,12 @@ step_18() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_20_info() {
|
step_20_info() {
|
||||||
echoinfoArgs "[reindex|optimize]"
|
|
||||||
echo "Manage document search index"
|
echo "Manage document search index"
|
||||||
echoinfo " reindex - (default) create index from scratch"
|
echoinfo " reindex - (default) create index from scratch"
|
||||||
echoinfo " optimize - updates index to increase search speed and"
|
echoinfo " optimize - updates index to increase search speed and"
|
||||||
echoinfo " ensures autocompletion"
|
echoinfo " ensures autocompletion"
|
||||||
}
|
}
|
||||||
|
step_20_options() { echo "[reindex|optimize]"; }
|
||||||
step_20_alias() { echo "reindex"; }
|
step_20_alias() { echo "reindex"; }
|
||||||
step_20() {
|
step_20() {
|
||||||
shift
|
shift
|
||||||
@@ -236,7 +237,8 @@ step_22() {
|
|||||||
exe sudo -Hu paperless python3 manage.py document_renamer
|
exe sudo -Hu paperless python3 manage.py document_renamer
|
||||||
}
|
}
|
||||||
|
|
||||||
step_30_info() { echoinfoArgs "[--nostart]"; echo "Backup ${toolName}"; }
|
step_30_info() { echo "Backup ${toolName}"; }
|
||||||
|
step_30_options() { echo "[--nostart]"; }
|
||||||
step_30_alias() { echo "backup"; }
|
step_30_alias() { echo "backup"; }
|
||||||
step_30() {
|
step_30() {
|
||||||
shift
|
shift
|
||||||
|
@@ -72,10 +72,8 @@ step_3(){
|
|||||||
echo "$lPhp"
|
echo "$lPhp"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_5_info() {
|
step_5_info() { echo "Install ${toolName:-'-'} packages prepending the correct version"; }
|
||||||
echoinfoArgs "[PHP_PACKAGE_NAME ...]"
|
step_5_options() { echo "[PHP_PACKAGE_NAME ...]"; }
|
||||||
echo "Install ${toolName:-'-'} packages prepending the correct version"
|
|
||||||
}
|
|
||||||
step_5_alias() { echo "add"; }
|
step_5_alias() { echo "add"; }
|
||||||
step_5() {
|
step_5() {
|
||||||
shift
|
shift
|
||||||
|
@@ -17,10 +17,8 @@ step_30() {
|
|||||||
exep "cd \"${PIWI_DIR}\"/.. && tar czf \"${PIWI_BU_DIR}/\`date +%Y%m%d\`_${toolName}_web.tar.gz\" --exclude=\"${toolName}/network/*\" --exclude=\"${toolName}/_data/i/*\" \"$(basename "$PIWI_DIR")\""
|
exep "cd \"${PIWI_DIR}\"/.. && tar czf \"${PIWI_BU_DIR}/\`date +%Y%m%d\`_${toolName}_web.tar.gz\" --exclude=\"${toolName}/network/*\" --exclude=\"${toolName}/_data/i/*\" \"$(basename "$PIWI_DIR")\""
|
||||||
}
|
}
|
||||||
|
|
||||||
step_31_info() {
|
step_31_info() { echo "Backup ${toolName} database"; }
|
||||||
echoinfoArgs "[daily|monthly(default)]"
|
step_31_options() { echo "[daily|monthly(default)]"; }
|
||||||
echo "Backup ${toolName} database"
|
|
||||||
}
|
|
||||||
step_31_alias() { echo "backupdb"; }
|
step_31_alias() { echo "backupdb"; }
|
||||||
step_31() {
|
step_31() {
|
||||||
case "${2:-}" in
|
case "${2:-}" in
|
||||||
|
@@ -138,7 +138,8 @@ fetchmailRsyslogLoc="/etc/rsyslog.d/30-fetchmail.conf"
|
|||||||
fetchmailRsyslog="if \$programname == 'fetchmail' or \$programname == 'fetchmail-all' then $fetchmailLogLoc
|
fetchmailRsyslog="if \$programname == 'fetchmail' or \$programname == 'fetchmail-all' then $fetchmailLogLoc
|
||||||
& stop"
|
& stop"
|
||||||
|
|
||||||
step_18_info() { echoinfoArgs "[NEW VERSION]"; echo "Check for updates"; }
|
step_18_info() { echo "Check for updates"; }
|
||||||
|
step_18_options() { echo "[NEW VERSION]"; }
|
||||||
step_18_alias() { echo "updatecheck"; }
|
step_18_alias() { echo "updatecheck"; }
|
||||||
step_18() {
|
step_18() {
|
||||||
shift
|
shift
|
||||||
@@ -162,7 +163,6 @@ step_18() {
|
|||||||
|
|
||||||
|
|
||||||
step_20_info() {
|
step_20_info() {
|
||||||
echoinfoArgs "[POSTFIXADMIN SRV ROOT]"
|
|
||||||
echo -n "Create a backup"
|
echo -n "Create a backup"
|
||||||
if [ $sq_config -ne 0 ] ; then
|
if [ $sq_config -ne 0 ] ; then
|
||||||
echo " at $PFA_BACKUP"
|
echo " at $PFA_BACKUP"
|
||||||
@@ -170,6 +170,7 @@ step_20_info() {
|
|||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
step_20_options() { echo "[POSTFIXADMIN SRV ROOT]"; }
|
||||||
step_20_alias() { echo "backup"; }
|
step_20_alias() { echo "backup"; }
|
||||||
step_20() {
|
step_20() {
|
||||||
shift
|
shift
|
||||||
@@ -196,7 +197,6 @@ step_20() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_22_info() {
|
step_22_info() {
|
||||||
echoinfoArgs "[CUSTOM VERSION]"
|
|
||||||
shift
|
shift
|
||||||
if contextExe; then
|
if contextExe; then
|
||||||
echoinfo -n "Upgrade to version "
|
echoinfo -n "Upgrade to version "
|
||||||
@@ -210,6 +210,7 @@ step_22_info() {
|
|||||||
echo "Upgrade to latest or a custom version from github"
|
echo "Upgrade to latest or a custom version from github"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
step_22_options() { echo "[CUSTOM VERSION]"; }
|
||||||
step_22_alias() { echo "upgrade"; }
|
step_22_alias() { echo "upgrade"; }
|
||||||
step_22() {
|
step_22() {
|
||||||
shift # don't need step number
|
shift # don't need step number
|
||||||
@@ -309,10 +310,10 @@ step_23() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_100_info() {
|
step_100_info() {
|
||||||
echoinfoArgs "[OPTIONS]"
|
|
||||||
echo "Execute $toolName client script"
|
echo "Execute $toolName client script"
|
||||||
echoinfo "[OPTIONS] are passed on to $toolName-cli unmodified"
|
echoinfo "[OPTIONS] are passed on to $toolName-cli unmodified"
|
||||||
}
|
}
|
||||||
|
step_100_options() { echo "[OPTIONS]"; }
|
||||||
step_100_alias() { echo "cli"; }
|
step_100_alias() { echo "cli"; }
|
||||||
step_100() {
|
step_100() {
|
||||||
shift
|
shift
|
||||||
|
@@ -51,7 +51,8 @@ step_2() {
|
|||||||
exe su ${toolUser} -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE \"${postgresDb}\" to ${postgresUser};\""
|
exe su ${toolUser} -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE \"${postgresDb}\" to ${postgresUser};\""
|
||||||
}
|
}
|
||||||
|
|
||||||
step_4_info() { echoinfoArgs "[DATABASE]"; echo "Drop a postgres database"; }
|
step_4_info() { echo "Drop a postgres database"; }
|
||||||
|
step_4_options() { echo "[DATABASE]"; }
|
||||||
step_4_alias() { echo "dropdb"; }
|
step_4_alias() { echo "dropdb"; }
|
||||||
step_4() {
|
step_4() {
|
||||||
shift
|
shift
|
||||||
@@ -64,7 +65,8 @@ step_4() {
|
|||||||
exe su ${toolUser} -c "psql -c \"DROP DATABASE ${dbname};\""
|
exe su ${toolUser} -c "psql -c \"DROP DATABASE ${dbname};\""
|
||||||
}
|
}
|
||||||
|
|
||||||
step_6_info() { echoinfoArgs "[DATABASE]"; echo "Size of a postgres database"; }
|
step_6_info() { echo "Size of a postgres database"; }
|
||||||
|
step_6_options() { echo "[DATABASE]"; }
|
||||||
step_6_alias() { echo "sizedb"; }
|
step_6_alias() { echo "sizedb"; }
|
||||||
step_6() {
|
step_6() {
|
||||||
shift
|
shift
|
||||||
@@ -84,7 +86,8 @@ step_8() {
|
|||||||
exe su ${toolUser} -c "psql -c '\l'"
|
exe su ${toolUser} -c "psql -c '\l'"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_10_info() { echoinfoArgs "[DATABASE]"; echo "List all tables of a postgres database"; }
|
step_10_info() { echo "List all tables of a postgres database"; }
|
||||||
|
step_10_options() { echo "[DATABASE]"; }
|
||||||
step_10_alias() { echo "listtables"; }
|
step_10_alias() { echo "listtables"; }
|
||||||
step_10() {
|
step_10() {
|
||||||
shift
|
shift
|
||||||
@@ -97,7 +100,8 @@ step_10() {
|
|||||||
exe su ${toolUser} -c "psql -d $dbname -c \"\\dt\""
|
exe su ${toolUser} -c "psql -d $dbname -c \"\\dt\""
|
||||||
}
|
}
|
||||||
|
|
||||||
step_20_info() { echoinfoArgs "[DATABASE]"; echo "Backup ${toolName} database"; }
|
step_20_info() { echo "Backup ${toolName} database"; }
|
||||||
|
step_20_options() { echo "[DATABASE]"; }
|
||||||
step_20_alias() { echo "backupdb"; }
|
step_20_alias() { echo "backupdb"; }
|
||||||
step_20() {
|
step_20() {
|
||||||
shift
|
shift
|
||||||
@@ -137,9 +141,9 @@ step_22() {
|
|||||||
|
|
||||||
step_24_info() {
|
step_24_info() {
|
||||||
local DELYEAR=$(($(date +%Y)-2))
|
local DELYEAR=$(($(date +%Y)-2))
|
||||||
echoinfoArgs "[DATABASE]"
|
|
||||||
echo "Clean all ${DELYEAR} backups of a database";
|
echo "Clean all ${DELYEAR} backups of a database";
|
||||||
}
|
}
|
||||||
|
step_24_options() { echo "[DATABASE]"; }
|
||||||
step_24_alias() { echo "backupclean"; }
|
step_24_alias() { echo "backupclean"; }
|
||||||
step_24() {
|
step_24() {
|
||||||
shift
|
shift
|
||||||
|
@@ -51,12 +51,12 @@ step_2() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_3_info() {
|
step_3_info() {
|
||||||
echoinfoArgs "[TARGET]"
|
|
||||||
echo "Install dependencies"
|
echo "Install dependencies"
|
||||||
echoinfo " [TARGET] (default: raspi)"
|
echoinfo " [TARGET] (default: raspi)"
|
||||||
echoinfo " raspi: Raspberry Pi OS"
|
echoinfo " raspi: Raspberry Pi OS"
|
||||||
echoinfo " debian: Debian"
|
echoinfo " debian: Debian"
|
||||||
}
|
}
|
||||||
|
step_3_options() { echo "[TARGET]"; }
|
||||||
step_3_alias() { echo "deps"; }
|
step_3_alias() { echo "deps"; }
|
||||||
step_3() {
|
step_3() {
|
||||||
shift
|
shift
|
||||||
|
@@ -78,7 +78,6 @@ step_1_info() {
|
|||||||
# Shift away args
|
# Shift away args
|
||||||
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
||||||
|
|
||||||
echoinfoArgs "[OPTIONS] [SD CARD DEVICE] [HD DEVICE]"
|
|
||||||
echo "Download latest Raspberry Pi OS lite image $PIARCH"
|
echo "Download latest Raspberry Pi OS lite image $PIARCH"
|
||||||
if contextExe; then
|
if contextExe; then
|
||||||
echoinfo "Download URL: $PIDOWNURL"
|
echoinfo "Download URL: $PIDOWNURL"
|
||||||
@@ -87,6 +86,7 @@ step_1_info() {
|
|||||||
echoinfo " -a, --arch : armhf (default), arm64"
|
echoinfo " -a, --arch : armhf (default), arm64"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
step_1_options() { echo "[OPTIONS] [SD CARD DEVICE] [HD DEVICE]"; }
|
||||||
step_1_alias() { echo "setup"; }
|
step_1_alias() { echo "setup"; }
|
||||||
step_1() {
|
step_1() {
|
||||||
# Shift away args
|
# Shift away args
|
||||||
@@ -112,11 +112,11 @@ step_2_info() {
|
|||||||
# Shift away args
|
# Shift away args
|
||||||
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
||||||
|
|
||||||
echoinfoArgs "[OPTIONS] [SD CARD DEVICE]"
|
|
||||||
echo "Write Raspberry Pi OS image to SD card"
|
echo "Write Raspberry Pi OS image to SD card"
|
||||||
echoinfo "This operation will delete all data previously on the SD card!"
|
echoinfo "This operation will delete all data previously on the SD card!"
|
||||||
contextExe && [ -n "${1:-}" ] && echoinfo " [SD CARD DEVICE]: $1"
|
contextExe && [ -n "${1:-}" ] && echoinfo " [SD CARD DEVICE]: $1"
|
||||||
}
|
}
|
||||||
|
step_2_options() { echo "[OPTIONS] [SD CARD DEVICE]"; }
|
||||||
step_2_alias() { echo "writesd"; }
|
step_2_alias() { echo "writesd"; }
|
||||||
step_2() {
|
step_2() {
|
||||||
# Shift away args
|
# Shift away args
|
||||||
@@ -155,12 +155,12 @@ step_3_info() {
|
|||||||
# Shift away args
|
# Shift away args
|
||||||
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
||||||
|
|
||||||
echoinfoArgs "[SD CARD DEVICE]"
|
|
||||||
echo "Prepare SD for first run"
|
echo "Prepare SD for first run"
|
||||||
if contextExe; then
|
if contextExe; then
|
||||||
[ -n "${1:-}" ] && echoinfo " [SD CARD DEVICE]: $1"
|
[ -n "${1:-}" ] && echoinfo " [SD CARD DEVICE]: $1"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
step_3_options() { echo "[SD CARD DEVICE]"; }
|
||||||
step_3() {
|
step_3() {
|
||||||
# Shift away args
|
# Shift away args
|
||||||
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
||||||
@@ -219,13 +219,13 @@ step_4_info() {
|
|||||||
# Shift away args
|
# Shift away args
|
||||||
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
||||||
|
|
||||||
echoinfoArgs "[SD CARD DEVICE] [HD DEVICE]"
|
|
||||||
echo "Prepare SD card to boot from hard disk"
|
echo "Prepare SD card to boot from hard disk"
|
||||||
if contextExe; then
|
if contextExe; then
|
||||||
[ -n "${1:-}" ] && echoinfo " [SD CARD DEVICE]: $1"
|
[ -n "${1:-}" ] && echoinfo " [SD CARD DEVICE]: $1"
|
||||||
[ -n "${2:-}" ] && echoinfo " [HD DEVICE]: $2"
|
[ -n "${2:-}" ] && echoinfo " [HD DEVICE]: $2"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
step_4_options() { echo "[SD CARD DEVICE] [HD DEVICE]"; }
|
||||||
step_4_alias() { echo "hdboot"; }
|
step_4_alias() { echo "hdboot"; }
|
||||||
step_4() {
|
step_4() {
|
||||||
# Shift away args
|
# Shift away args
|
||||||
@@ -290,7 +290,6 @@ step_5_info() {
|
|||||||
# Shift away args
|
# Shift away args
|
||||||
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
||||||
|
|
||||||
echoinfoArgs "[SD CARD DEVICE] [HD DEVICE]"
|
|
||||||
echo "Prepare HD for boot (TODO)"
|
echo "Prepare HD for boot (TODO)"
|
||||||
|
|
||||||
if contextExe; then
|
if contextExe; then
|
||||||
@@ -298,6 +297,7 @@ step_5_info() {
|
|||||||
[ -n "${2:-}" ] && echoinfo " [HD DEVICE]: $2"
|
[ -n "${2:-}" ] && echoinfo " [HD DEVICE]: $2"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
step_5_options() { echo "[SD CARD DEVICE] [HD DEVICE]"; }
|
||||||
step_5() {
|
step_5() {
|
||||||
# Shift away args
|
# Shift away args
|
||||||
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
shift; local lArgs=( "$@" ); evalArgs "${lArgs[@]}"; shift $?
|
||||||
@@ -452,7 +452,8 @@ step_20() {
|
|||||||
}
|
}
|
||||||
rpiSwapFile="/var/swap"
|
rpiSwapFile="/var/swap"
|
||||||
|
|
||||||
step_22_info() { echoinfoArgs "[SD CARD DEVICE]"; echo "Resize second SD card partition"; }
|
step_22_info() { echo "Resize second SD card partition"; }
|
||||||
|
step_22_options() { echo "[SD CARD DEVICE]"; }
|
||||||
step_22_alias() { echo "resizesd"; }
|
step_22_alias() { echo "resizesd"; }
|
||||||
step_22() {
|
step_22() {
|
||||||
shift
|
shift
|
||||||
@@ -481,11 +482,11 @@ step_22() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_24_info() {
|
step_24_info() {
|
||||||
echoinfoArgs "[OPTION]"
|
|
||||||
echo "Turn off power LED"
|
echo "Turn off power LED"
|
||||||
echoinfo " [OPTION]"
|
echoinfo " [OPTION]"
|
||||||
echoinfo " -p : Turn off permanentely (/etc/rc.local)"
|
echoinfo " -p : Turn off permanentely (/etc/rc.local)"
|
||||||
}
|
}
|
||||||
|
step_24_options() { echo "[OPTION]"; }
|
||||||
step_24_alias() { echo "disable_powerled"; }
|
step_24_alias() { echo "disable_powerled"; }
|
||||||
step_24() {
|
step_24() {
|
||||||
exep "${ledOffCmd}"
|
exep "${ledOffCmd}"
|
||||||
|
@@ -65,11 +65,11 @@ NOTES_EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_10_info() {
|
step_10_info() {
|
||||||
echoinfoArgs "[CLI COMMAND]"
|
|
||||||
echo "Execute redis-cli commands"
|
echo "Execute redis-cli commands"
|
||||||
echoinfo " [CLI COMMAND]"
|
echoinfo " [CLI COMMAND]"
|
||||||
echoinfo " e.g. info"
|
echoinfo " e.g. info"
|
||||||
}
|
}
|
||||||
|
step_10_options() { echo "[CLI COMMAND]"; }
|
||||||
step_10_alias() { echo "cli"; }
|
step_10_alias() { echo "cli"; }
|
||||||
step_10() {
|
step_10() {
|
||||||
shift
|
shift
|
||||||
|
@@ -156,10 +156,8 @@ step_20() {
|
|||||||
exe tar czf "$wwwBackup" $(basename "$RC_LOC")
|
exe tar czf "$wwwBackup" $(basename "$RC_LOC")
|
||||||
}
|
}
|
||||||
|
|
||||||
step_22_info() {
|
step_22_info() { echo "Upgrade installation to \"latest\" from github if [CUSTOM_VERSION] is empty"; }
|
||||||
echoinfoArgs "[CUSTOM VERSION]"
|
step_22_options() { echo "[CUSTOM VERSION]"; }
|
||||||
echo "Upgrade installation to \"latest\" from github if [CUSTOM_VERSION] is empty"
|
|
||||||
}
|
|
||||||
step_22_alias() { echo "upgrade"; }
|
step_22_alias() { echo "upgrade"; }
|
||||||
step_22() {
|
step_22() {
|
||||||
shift # don't need step number
|
shift # don't need step number
|
||||||
|
@@ -239,7 +239,8 @@ step_50() {
|
|||||||
NOTES_END
|
NOTES_END
|
||||||
}
|
}
|
||||||
|
|
||||||
step_60_info() { echoinfoArgs "[VERSION]"; echo "Build and install from source"; }
|
step_60_info() { echo "Build and install from source"; }
|
||||||
|
step_60_options() { echo "[VERSION]"; }
|
||||||
step_60_alias() { echo "buildlocal"; }
|
step_60_alias() { echo "buildlocal"; }
|
||||||
step_60() {
|
step_60() {
|
||||||
shift
|
shift
|
||||||
@@ -298,13 +299,15 @@ step_62() {
|
|||||||
exe systemctl daemon-reload
|
exe systemctl daemon-reload
|
||||||
}
|
}
|
||||||
|
|
||||||
step_64_info() { echoinfoArgs "[VERSION]"; echo "Install build dependencies for .deb build"; }
|
step_64_info() { echo "Install build dependencies for .deb build"; }
|
||||||
|
step_64_options() { echo "[VERSION]"; }
|
||||||
step_64_alias() { echo "builddeb"; }
|
step_64_alias() { echo "builddeb"; }
|
||||||
step_64() {
|
step_64() {
|
||||||
exe apt install cmake ragel pkg-config libglib2.0-dev libsqlite3-dev libicu-dev libmagic-dev libssl-dev libsodium-dev redis libjemalloc-dev libcurl4-openssl-dev liblua5.1-0-dev libunwind-dev liblua5.1-0-dev
|
exe apt install cmake ragel pkg-config libglib2.0-dev libsqlite3-dev libicu-dev libmagic-dev libssl-dev libsodium-dev redis libjemalloc-dev libcurl4-openssl-dev liblua5.1-0-dev libunwind-dev liblua5.1-0-dev
|
||||||
}
|
}
|
||||||
|
|
||||||
step_65_info() { echoinfoArgs "[VERSION]"; echo "Build .deb from source"; }
|
step_65_info() { echo "Build .deb from source"; }
|
||||||
|
step_65_options() { echo "[VERSION]"; }
|
||||||
step_65() {
|
step_65() {
|
||||||
shift
|
shift
|
||||||
local version="${1:-"${knownVersion}"}"
|
local version="${1:-"${knownVersion}"}"
|
||||||
|
@@ -63,10 +63,8 @@ step_14() {
|
|||||||
}
|
}
|
||||||
CONFIG_RNGD_DEST="/etc/rsyslog.d/$(basename $CONFIG_RNGD)"
|
CONFIG_RNGD_DEST="/etc/rsyslog.d/$(basename $CONFIG_RNGD)"
|
||||||
|
|
||||||
step_16_info() {
|
step_16_info() { echo "Send syslog messages to remote syslog server"; }
|
||||||
echoinfoArgs "<REMOTE_IP:PORT>"
|
step_16_options() { echo "<REMOTE_IP:PORT>"; }
|
||||||
echo "Send syslog messages to remote syslog server"
|
|
||||||
}
|
|
||||||
step_16_alias() { echo "remote"; }
|
step_16_alias() { echo "remote"; }
|
||||||
step_16() {
|
step_16() {
|
||||||
local rex='^[0-9\.]+\:[0-9]+$'
|
local rex='^[0-9\.]+\:[0-9]+$'
|
||||||
|
@@ -28,10 +28,10 @@ step_1() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_2_info() {
|
step_2_info() {
|
||||||
echoinfoArgs "[-s]"
|
|
||||||
echo "Setup snmp v3 access"
|
echo "Setup snmp v3 access"
|
||||||
echoinfo " -s : Stop after creating authentication entry"
|
echoinfo " -s : Stop after creating authentication entry"
|
||||||
}
|
}
|
||||||
|
step_2_options() { echo "[-s]"; }
|
||||||
step_2_alias() { echo "v3access"; }
|
step_2_alias() { echo "v3access"; }
|
||||||
step_2() {
|
step_2() {
|
||||||
#
|
#
|
||||||
@@ -101,10 +101,10 @@ step_2() {
|
|||||||
v3AuthLoc="/var/lib/snmp/snmpd.conf"
|
v3AuthLoc="/var/lib/snmp/snmpd.conf"
|
||||||
|
|
||||||
step_5_info() {
|
step_5_info() {
|
||||||
echoinfoArgs "[INTERFACE]"
|
|
||||||
echo "Add ufw rules for port 161 udp"
|
echo "Add ufw rules for port 161 udp"
|
||||||
echoinfo " [INTERFACE] (default: eth0)"
|
echoinfo " [INTERFACE] (default: eth0)"
|
||||||
}
|
}
|
||||||
|
step_5_options() { echo "[INTERFACE]"; }
|
||||||
step_5_alias() { echo "ufw"; }
|
step_5_alias() { echo "ufw"; }
|
||||||
step_5() {
|
step_5() {
|
||||||
shift
|
shift
|
||||||
|
@@ -27,11 +27,11 @@ step_3() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_5_info() {
|
step_5_info() {
|
||||||
echoinfoArgs "[OPTIONS] <USER@HOST> [PORT]"
|
|
||||||
echo "Send key to remote host"
|
echo "Send key to remote host"
|
||||||
echoinfo "[OPTIONS]"
|
echoinfo "[OPTIONS]"
|
||||||
echoinfo " -4 : Force Ipv4"
|
echoinfo " -4 : Force Ipv4"
|
||||||
}
|
}
|
||||||
|
step_5_options() { echo "[OPTIONS] <USER@HOST> [PORT]"; }
|
||||||
step_5_alias() { echo "sendkey"; }
|
step_5_alias() { echo "sendkey"; }
|
||||||
step_5() {
|
step_5() {
|
||||||
shift
|
shift
|
||||||
@@ -71,10 +71,10 @@ step_5() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_10_info() {
|
step_10_info() {
|
||||||
echoinfoArgs "<CMDLIST> [USER:HOST] [PORT]"
|
|
||||||
echo "Send command(ssh)/file(scp) list to remote(s)"
|
echo "Send command(ssh)/file(scp) list to remote(s)"
|
||||||
echoinfo "[USER:HOST] and [PORT] are overwritten by \"host\" command from <CMDLIST>"
|
echoinfo "[USER:HOST] and [PORT] are overwritten by \"host\" command from <CMDLIST>"
|
||||||
}
|
}
|
||||||
|
step_10_options() { echo "<CMDLIST> [USER:HOST] [PORT]"; }
|
||||||
step_10_alias() { echo "sendlist"; }
|
step_10_alias() { echo "sendlist"; }
|
||||||
step_10() {
|
step_10() {
|
||||||
shift
|
shift
|
||||||
|
@@ -119,7 +119,8 @@ step_50() {
|
|||||||
exe "$toolRemote" -l
|
exe "$toolRemote" -l
|
||||||
}
|
}
|
||||||
|
|
||||||
step_52_info() { echoinfoArgs "<TORRENT ID>"; echo "List information about a torrent"; }
|
step_52_info() { echo "List information about a torrent"; }
|
||||||
|
step_52_options() { echo "<TORRENT ID>"; }
|
||||||
step_52_alias() { echo "info"; }
|
step_52_alias() { echo "info"; }
|
||||||
step_52() {
|
step_52() {
|
||||||
shift
|
shift
|
||||||
|
12
seqs/ufw.sh
12
seqs/ufw.sh
@@ -6,7 +6,7 @@ toolDeps=$toolName
|
|||||||
sq_aptOpt=
|
sq_aptOpt=
|
||||||
#sq_config=0
|
#sq_config=0
|
||||||
|
|
||||||
step_config() {
|
seq_config() {
|
||||||
#if initSeqConfig "${seq_configName:?}" "${seq_configTemplate:?} ; then
|
#if initSeqConfig "${seq_configName:?}" "${seq_configTemplate:?} ; then
|
||||||
# sq_config=1
|
# sq_config=1
|
||||||
#else
|
#else
|
||||||
@@ -36,6 +36,11 @@ step_2() {
|
|||||||
exe ufw enable
|
exe ufw enable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
step_3_info() { echo "Info"; }
|
||||||
|
#step_3_alias() { echo "alias"; }
|
||||||
|
step_3_options() { echo "[]"; }
|
||||||
|
step_3() { : ; }
|
||||||
|
|
||||||
step_20_info() { echo "Enable mail server essentials"; }
|
step_20_info() { echo "Enable mail server essentials"; }
|
||||||
step_20_alias() { echo "mailserver"; }
|
step_20_alias() { echo "mailserver"; }
|
||||||
step_20() {
|
step_20() {
|
||||||
@@ -47,7 +52,8 @@ step_20() {
|
|||||||
exe ufw allow 4190/tcp comment 'Managesieve'
|
exe ufw allow 4190/tcp comment 'Managesieve'
|
||||||
}
|
}
|
||||||
|
|
||||||
step_22_info() { echoinfoArgs "[IP]"; echo "Deny multicast from gateway"; }
|
step_22_info() { echo "Deny multicast from gateway"; }
|
||||||
|
step_22_options() { echo "[IP]"; }
|
||||||
step_22_alias() { echo "multicast"; }
|
step_22_alias() { echo "multicast"; }
|
||||||
step_22() {
|
step_22() {
|
||||||
shift
|
shift
|
||||||
@@ -61,12 +67,12 @@ step_22() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
step_24_info() {
|
step_24_info() {
|
||||||
echoinfoArgs "<FILE SERVER IP|RANGE> [PORT]"
|
|
||||||
echo "Allow cifs mounts on eth0"
|
echo "Allow cifs mounts on eth0"
|
||||||
echoinfo " [PORT] (default 445)"
|
echoinfo " [PORT] (default 445)"
|
||||||
echoinfo " 139 : Cifs version 1.0"
|
echoinfo " 139 : Cifs version 1.0"
|
||||||
echoinfo " 445 : Cifs version 2.0+"
|
echoinfo " 445 : Cifs version 2.0+"
|
||||||
}
|
}
|
||||||
|
step_24_options() { echo "<FILE SERVER IP|RANGE> [PORT]"; }
|
||||||
step_24_alias() { echo "cifs"; }
|
step_24_alias() { echo "cifs"; }
|
||||||
step_24() {
|
step_24() {
|
||||||
shift
|
shift
|
||||||
|
46
sequencer.sh
46
sequencer.sh
@@ -77,12 +77,6 @@ set -o pipefail
|
|||||||
readonly _sqr_term
|
readonly _sqr_term
|
||||||
_sqr_colorAlways=0
|
_sqr_colorAlways=0
|
||||||
|
|
||||||
## Terminal position
|
|
||||||
_sqr_savePosAlias= ;[ -t 1 ] && _sqr_savePosAlias='\033[1A\033[1C\033[s\033[1B\033[1C'
|
|
||||||
_sqr_savePosExe= ;[ -t 1 ] && _sqr_savePosExe='\033[s'
|
|
||||||
_sqr_savePos= ;[ -t 1 ] && _sqr_savePos='\033[3D\033[s\033[3C'
|
|
||||||
_sqr_restorePos= ;[ -t 1 ] && _sqr_restorePos='\033[u'
|
|
||||||
|
|
||||||
## Terminal colors
|
## Terminal colors
|
||||||
col_black='\033[0;30m'
|
col_black='\033[0;30m'
|
||||||
col_darkgrey='\033[1;30m'
|
col_darkgrey='\033[1;30m'
|
||||||
@@ -157,7 +151,7 @@ sequencer.sh API
|
|||||||
|
|
||||||
The sequencer.sh build-in functions are available in all sequence functions:
|
The sequencer.sh build-in functions are available in all sequence functions:
|
||||||
- seq_config
|
- seq_config
|
||||||
If optional step_config is defined in the sequence, it will be called once before execution of steps.
|
If optional seq_config is defined in the sequence, it will be called once before execution of steps.
|
||||||
- step_[1-${_sqr_stepMax}]_info
|
- step_[1-${_sqr_stepMax}]_info
|
||||||
- step_[1-${_sqr_stepMax}]_alias
|
- step_[1-${_sqr_stepMax}]_alias
|
||||||
- step_[1-${_sqr_stepMax}]
|
- step_[1-${_sqr_stepMax}]
|
||||||
@@ -526,17 +520,6 @@ USAGE_API
|
|||||||
printf '%s' "$_sqr_indentExe"; echo "$@"
|
printf '%s' "$_sqr_indentExe"; echo "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Echo info about step arguments
|
|
||||||
# Needs to be called first in _info() function
|
|
||||||
echoinfoArgs() {
|
|
||||||
echo -e "${_sqr_restorePos}$*"
|
|
||||||
if [ $_sqr_contextExe -ne 0 ]; then
|
|
||||||
printf '%s' "$_sqr_indentExe"
|
|
||||||
else
|
|
||||||
printf '%s' "$_sqr_indentHelp"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
## Traps
|
## Traps
|
||||||
@@ -955,7 +938,7 @@ step() {
|
|||||||
# Parse alias functions "step_[STEP NUBER]_alias" to create
|
# Parse alias functions "step_[STEP NUBER]_alias" to create
|
||||||
# back reference variable of schema:
|
# back reference variable of schema:
|
||||||
# alias_[ALIAS]=[STEP NUMBER]
|
# alias_[ALIAS]=[STEP NUMBER]
|
||||||
parseAlias() {
|
sqr::parseAlias() {
|
||||||
sqr::debugPause
|
sqr::debugPause
|
||||||
local i
|
local i
|
||||||
for ((i=1; i<=_sqr_stepMax; i++)); do
|
for ((i=1; i<=_sqr_stepMax; i++)); do
|
||||||
@@ -969,12 +952,17 @@ parseAlias() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Creating a minimal seq (step definition) template
|
# Creating a minimal seq (step definition) template
|
||||||
createTemplate() {
|
sqr::createTemplate() {
|
||||||
[ -f "${seq_template}" ] && return 1
|
[ -f "${seq_template}" ] && return 1
|
||||||
|
|
||||||
exe cp "${sqr_origin}/${seq_template}" "${seq_template}"
|
exe cp "${sqr_origin}/${seq_template}" "${seq_template}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# sqr::stepOptions <STEP NUMBER> [PREFIX]
|
||||||
|
sqr::stepOptions() {
|
||||||
|
exists -f "step_${1:?}_options" && echo -n "${2:-}$(step_${1:?}_options)"
|
||||||
|
}
|
||||||
|
|
||||||
# displayHelp [OPTIONS] [STEP NUMBER OR ALIAS]
|
# displayHelp [OPTIONS] [STEP NUMBER OR ALIAS]
|
||||||
# [OPTIONS]
|
# [OPTIONS]
|
||||||
# -t : Ask for template creation
|
# -t : Ask for template creation
|
||||||
@@ -1019,7 +1007,7 @@ displayHelp() {
|
|||||||
|
|
||||||
# check if help is requested for a single step
|
# check if help is requested for a single step
|
||||||
if [ -n "${1:-}" ]; then
|
if [ -n "${1:-}" ]; then
|
||||||
parseAlias
|
sqr::parseAlias
|
||||||
loopStart="$(checkStep "${1}")"
|
loopStart="$(checkStep "${1}")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1036,7 +1024,7 @@ displayHelp() {
|
|||||||
printf ' %s\n\n' "Please create a sequence script first."
|
printf ' %s\n\n' "Please create a sequence script first."
|
||||||
if (( createTemplate )) ; then
|
if (( createTemplate )) ; then
|
||||||
if confirm " Create a template now?" ; then
|
if confirm " Create a template now?" ; then
|
||||||
if createTemplate ; then
|
if sqr::createTemplate ; then
|
||||||
printf '\n %s\n' "${seq_template} created."
|
printf '\n %s\n' "${seq_template} created."
|
||||||
else
|
else
|
||||||
printf '\n %s\n' "${seq_template} exists...Nothing to do!"
|
printf '\n %s\n' "${seq_template} exists...Nothing to do!"
|
||||||
@@ -1072,11 +1060,12 @@ displayHelp() {
|
|||||||
|
|
||||||
# Display alias if exists
|
# Display alias if exists
|
||||||
if exists -f "step_${i}_alias" ; then
|
if exists -f "step_${i}_alias" ; then
|
||||||
echo -en " = $(col orange)$("step_${i}_alias")$(col off)${_sqr_savePosAlias}"
|
echo -en " = $(col orange)$("step_${i}_alias")$(col off)$(sqr::stepOptions "${i}" ' ')"
|
||||||
# Newline only if step info() exists
|
# Newline only if step info() exists
|
||||||
exists -f "step_${i}_info" && printf '\n%s' "$_sqr_indentHelp"
|
exists -f "step_${i}_info" && printf '\n%s' "${_sqr_indentHelp}"
|
||||||
else
|
else
|
||||||
echo -en " : ${_sqr_savePos}"
|
echo -en " : $(sqr::stepOptions "${i}")"
|
||||||
|
exists -f "step_${i}_options" && printf '\n%s' "${_sqr_indentAppendHelp}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Display step help only if info function exists
|
# Display step help only if info function exists
|
||||||
@@ -1302,11 +1291,12 @@ execute() {
|
|||||||
exists -f "step_${1}_alias" && stepAlias=$("step_${1}_alias")
|
exists -f "step_${1}_alias" && stepAlias=$("step_${1}_alias")
|
||||||
printf '\n [%3d] ' "${1}"
|
printf '\n [%3d] ' "${1}"
|
||||||
if [ -n "${stepAlias}" ]; then
|
if [ -n "${stepAlias}" ]; then
|
||||||
echo -en "$(col orange)${stepAlias}$(col off)${_sqr_savePosAlias}"
|
echo -en "$(col orange)${stepAlias}$(col off)$(sqr::stepOptions "${1}" ' ')"
|
||||||
# Only add newline if step info() available
|
# Only add newline if step info() available
|
||||||
exists -f "step_${1}_info" && printf '\n%s' "${_sqr_indentExe}"
|
exists -f "step_${1}_info" && printf '\n%s' "${_sqr_indentExe}"
|
||||||
else
|
else
|
||||||
echo -en "${_sqr_savePosExe}"
|
echo -en "$(sqr::stepOptions "${1}")"
|
||||||
|
exists -f "step_${1}_options" && printf '\n%s' "${_sqr_indentExe}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if exists -f "step_${1}_info" ; then
|
if exists -f "step_${1}_info" ; then
|
||||||
@@ -1593,7 +1583,7 @@ sqr::main() {
|
|||||||
## Fall back to error message
|
## Fall back to error message
|
||||||
[ -z "${_sqr_editor}" ] && _sqr_editor="sqr::noEditor"
|
[ -z "${_sqr_editor}" ] && _sqr_editor="sqr::noEditor"
|
||||||
|
|
||||||
parseAlias
|
sqr::parseAlias
|
||||||
|
|
||||||
# run configuration for sequence only if available and if first step is valid
|
# run configuration for sequence only if available and if first step is valid
|
||||||
if exists -f seq_config ; then
|
if exists -f seq_config ; then
|
||||||
|
@@ -82,6 +82,11 @@ makechanges() {
|
|||||||
exe sed ${inplace} 's/SEQ_CONFIG_FILE/seq_configFile/'${sedprint} "${file}"
|
exe sed ${inplace} 's/SEQ_CONFIG_FILE/seq_configFile/'${sedprint} "${file}"
|
||||||
exe sed ${inplace} 's/SEQ_PROFILE_NAME/seq_profileName/'${sedprint} "${file}"
|
exe sed ${inplace} 's/SEQ_PROFILE_NAME/seq_profileName/'${sedprint} "${file}"
|
||||||
exe sed ${inplace} 's/^VERSION_SEQREV.*/readonly sqr_minVersion=16/'${sedprint} "${file}"
|
exe sed ${inplace} 's/^VERSION_SEQREV.*/readonly sqr_minVersion=16/'${sedprint} "${file}"
|
||||||
|
|
||||||
|
exe sed ${inplace} 's/echoinfoArgs[[:space:]]\+"\([^"]\+\)"\([^;]\|$\)/# todo: manual intervention\nstep_xx_options() { echo "\1"; }/'${sedprint} "${file}"
|
||||||
|
exe sed ${inplace} \
|
||||||
|
's/^\(step_\([0-9]\+\)_info().*\)echoinfoArgs[[:space:]]\+"\([^"]\+\)"\;[[:space:]]*\(.*\)/\1\4\nstep_\2_options() { echo "\3"; }/'${sedprint}\
|
||||||
|
"${file}"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user