format log output

This commit is contained in:
Michael Grote 2023-08-04 10:22:34 +02:00
parent 3e49222aff
commit 857cd77183

34
app.sh
View file

@ -5,45 +5,45 @@
git config --global user.email "$GIT_USER_MAIL" git config --global user.email "$GIT_USER_MAIL"
git config --global user.name "$GIT_USERNAME" git config --global user.name "$GIT_USERNAME"
echo "clone repository..." echo "[INFO] clone repository..."
GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -i $GIT_REPO_DEPLOY_KEY" git clone "$GIT_REPO_URL" "$GIT_REPO_PATH" --quiet > /dev/null GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -i $GIT_REPO_DEPLOY_KEY" git clone "$GIT_REPO_URL" "$GIT_REPO_PATH" --quiet > /dev/null
cd "$GIT_REPO_PATH" || exit cd "$GIT_REPO_PATH" || exit
while true ; do while true ; do
echo "pull repository..." echo "[INFO] pull repository..."
git pull --quiet &> /dev/null git pull --quiet &> /dev/null
echo "check variables..." echo "check variables..."
if [ -z "$INTERVAL" ] ; then if [ -z "$INTERVAL" ] ; then
echo "INTERVAL is not set." echo "[ERROR] \$INTERVAL is not set."
exit 3 exit 3
fi fi
if [ -z "$GIT_REPO_BRANCH" ] ; then if [ -z "$GIT_REPO_BRANCH" ] ; then
echo "GIT_REPO_BRANCH is not set." echo "[ERROR] \$GIT_REPO_BRANCH is not set."
exit 3 exit 3
fi fi
if [ -z "$GIT_USERNAME" ] ; then if [ -z "$GIT_USERNAME" ] ; then
echo "GIT_USERNAME is not set." echo "[ERROR] \$GIT_USERNAME is not set."
exit 3 exit 3
fi fi
if [ -z "$GIT_USER_MAIL" ] ; then if [ -z "$GIT_USER_MAIL" ] ; then
echo "GIT_USER_MAIL is not set." echo "[ERROR] \$GIT_USER_MAIL is not set."
exit 3 exit 3
fi fi
if [ -z "$GIT_REPO_REMOTE_NAME" ] ; then if [ -z "$GIT_REPO_REMOTE_NAME" ] ; then
echo "GIT_REPO_REMOTE_NAME is not set." echo "[ERROR] \$GIT_REPO_REMOTE_NAME is not set."
exit 3 exit 3
fi fi
if [ -z "$DEVICES" ] ; then if [ -z "$DEVICES" ] ; then
echo "DEVICES is not set." echo "[ERROR] \$DEVICES is not set."
exit 3 exit 3
fi fi
if [ -z "$GIT_REPO_DEPLOY_KEY" ] ; then if [ -z "$GIT_REPO_DEPLOY_KEY" ] ; then
echo "GIT_REPO_DEPLOY_KEY is not set." echo "[ERROR] \$GIT_REPO_DEPLOY_KEY is not set."
exit 3 exit 3
fi fi
if [ -z "$GIT_REPO_URL" ] ; then if [ -z "$GIT_REPO_URL" ] ; then
echo "GIT_REPO_URL is not set." echo "[ERROR] \$GIT_REPO_URL is not set."
exit 3 exit 3
fi fi
@ -58,32 +58,32 @@ while true ; do
FQDN=$(echo "$FQDN" | tr -d "[:space:]") FQDN=$(echo "$FQDN" | tr -d "[:space:]")
# prüfe ob Key existiert # prüfe ob Key existiert
if [ ! -e "$SSH_KEY_PATH" ] ; then if [ ! -e "$SSH_KEY_PATH" ] ; then
echo "Error: File $SSH_KEY_PATH does not exist" echo "[ERROR] File $SSH_KEY_PATH does not exist"
echo "Error: can not export $FQDN config" echo "[ERROR] can not export $FQDN config"
exit 2 exit 2
fi fi
# check if target is reachable # check if target is reachable
if ping -c1 -W1 "${FQDN}" > /dev/null; then if ping -c1 -W1 "${FQDN}" > /dev/null; then
echo "export $FQDN config..." echo "[INFO] export $FQDN config..."
ssh -n -o StrictHostKeyChecking=no -i "$SSH_KEY_PATH" "${USERNAME}@${FQDN}" "/export show-sensitive" > "config_${FQDN}.rsc" 2> /dev/null ssh -n -o StrictHostKeyChecking=no -i "$SSH_KEY_PATH" "${USERNAME}@${FQDN}" "/export show-sensitive" > "config_${FQDN}.rsc" 2> /dev/null
# entferne Datumszeile # entferne Datumszeile
sed -i -r '/^# [0-9]{4}-[0-9]{2}-[0-9]{2}\s[0-9]{2}\:[0-9]{2}\:[0-9]{2}\sby\sRouterOS\s[0-9\s\.]+/d' "config_${FQDN}.rsc" sed -i -r '/^# [0-9]{4}-[0-9]{2}-[0-9]{2}\s[0-9]{2}\:[0-9]{2}\:[0-9]{2}\sby\sRouterOS\s[0-9\s\.]+/d' "config_${FQDN}.rsc"
git add "config_${FQDN}.rsc" git add "config_${FQDN}.rsc"
echo "commit config for ${FQDN} ..." echo "[INFO] commit config for ${FQDN} ..."
git commit -m "update config_${FQDN}" --quiet > /dev/null git commit -m "update config_${FQDN}" --quiet > /dev/null
else else
echo "${FQDN} not reachable!" echo "[ERROR] ${FQDN} not reachable!"
fi fi
done <<< "$DEVICES" done <<< "$DEVICES"
echo "push config(s)..." echo "[INFO] push config(s)..."
GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -i $GIT_REPO_DEPLOY_KEY" git push > /dev/null GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -i $GIT_REPO_DEPLOY_KEY" git push > /dev/null
# Restore the original IFS value # Restore the original IFS value
IFS=$OLD_IFS IFS=$OLD_IFS
# loop # loop
echo "sleep..." echo "[INFO] sleep..."
sleep "$INTERVAL" sleep "$INTERVAL"
done done