install_update_dovecot.sh: Remove crontab while updating dovecot.
This commit is contained in:
parent
04629f7d9b
commit
b06eecc53b
@ -27,6 +27,8 @@ log_file="$(mktemp)"
|
|||||||
|
|
||||||
backup_date="$(date +%Y-%m-%d-%H%M)"
|
backup_date="$(date +%Y-%m-%d-%H%M)"
|
||||||
|
|
||||||
|
_backup_crontab_file="/tmp/crontab_root.${backup_date}"
|
||||||
|
|
||||||
rc_done="\033[71G[ \033[32mdone\033[m ]"
|
rc_done="\033[71G[ \033[32mdone\033[m ]"
|
||||||
rc_failed="\033[71G[ \033[31m\033[1mfailed\033[m ]"
|
rc_failed="\033[71G[ \033[31m\033[1mfailed\033[m ]"
|
||||||
rc_skipped="\033[71G[ \033[33m\033[1mskipped\033[m ]"
|
rc_skipped="\033[71G[ \033[33m\033[1mskipped\033[m ]"
|
||||||
@ -36,6 +38,30 @@ rc_wait="\033[71G[ \033[5m\033[1m..\033[m ]"
|
|||||||
# -------------
|
# -------------
|
||||||
# - Functions an Variable
|
# - Functions an Variable
|
||||||
# -------------
|
# -------------
|
||||||
|
clean_up() {
|
||||||
|
|
||||||
|
|
||||||
|
if [[ -f "$_backup_crontab_file" ]]; then
|
||||||
|
|
||||||
|
echononl "(Re)Install previously saved crontab from '$_backup_crontab_file'.."
|
||||||
|
|
||||||
|
crontab $_backup_crontab_file >> $log_file 2>&1
|
||||||
|
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo -e "$rc_done"
|
||||||
|
else
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
error "$(cat $log_file)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Perform program exit housekeeping
|
||||||
|
rm -f $log_file
|
||||||
|
blank_line
|
||||||
|
exit $1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
echononl(){
|
echononl(){
|
||||||
echo X\\c > /tmp/shprompt$$
|
echo X\\c > /tmp/shprompt$$
|
||||||
@ -53,7 +79,7 @@ fatal(){
|
|||||||
echo ""
|
echo ""
|
||||||
echo -e "\t\033[31m\033[1m Skript wird abgebrochen\033[m\033[m\n"
|
echo -e "\t\033[31m\033[1m Skript wird abgebrochen\033[m\033[m\n"
|
||||||
rm -f $log_file
|
rm -f $log_file
|
||||||
exit 1
|
clean_up 1
|
||||||
}
|
}
|
||||||
|
|
||||||
error(){
|
error(){
|
||||||
@ -68,6 +94,11 @@ warn(){
|
|||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blank_line() {
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# - Support systemd ?
|
# - Support systemd ?
|
||||||
# -
|
# -
|
||||||
if [[ "X$(which systemd)" = "X" ]]; then
|
if [[ "X$(which systemd)" = "X" ]]; then
|
||||||
@ -596,10 +627,42 @@ if $_new ; then
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if $update ; then
|
||||||
|
|
||||||
|
# - Deaktiviere Cronjobs
|
||||||
|
# -
|
||||||
|
echo ""
|
||||||
|
echononl "\tBackup Crontab (user toot) to '$_backup_crontab_file'"
|
||||||
|
crontab -l > $_backup_crontab_file 2> $log_file
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo -e "$rc_done"
|
||||||
|
else
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
error "Backup Crontab to '$_backup_crontab_file' failed"
|
||||||
|
|
||||||
|
# If no crontab was present, the backup file contains
|
||||||
|
# th string "no crontab fo root". Better to delete the
|
||||||
|
# backup crontab file..
|
||||||
|
#
|
||||||
|
rm -f $_backup_crontab_file
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "\tRemove crontab for user root.."
|
||||||
|
crontab -r > $log_file 2>&1
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo -e "$rc_done"
|
||||||
|
else
|
||||||
|
echo -e "$rc_failed"
|
||||||
|
error ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## -----------------
|
## -----------------
|
||||||
## --- Stop dovecot if running
|
## --- Stop dovecot if running
|
||||||
|
|
||||||
echo ""
|
|
||||||
echononl "\tStop dovecot service.."
|
echononl "\tStop dovecot service.."
|
||||||
if ps ax 2> /dev/null | grep -q -E "/usr/local/dovecot[0-9.-]*/sbin/dovecot" > /dev/null 2>&1 ; then
|
if ps ax 2> /dev/null | grep -q -E "/usr/local/dovecot[0-9.-]*/sbin/dovecot" > /dev/null 2>&1 ; then
|
||||||
if $systemd_support ; then
|
if $systemd_support ; then
|
||||||
@ -665,7 +728,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echononl "\tCompile Dovecot Sources.."
|
echononl "\tCompile Dovecot Sources.."
|
||||||
make > ${_log_dir}/dovecot-${_version}-make.log 2>&1 || exit 1
|
make > ${_log_dir}/dovecot-${_version}-make.log 2>&1 || clean_up 1
|
||||||
if [ "$?" = 0 ]; then
|
if [ "$?" = 0 ]; then
|
||||||
echo -e "$rc_done"
|
echo -e "$rc_done"
|
||||||
else
|
else
|
||||||
@ -673,7 +736,7 @@ else
|
|||||||
fatal Compiling dovecot failed
|
fatal Compiling dovecot failed
|
||||||
fi
|
fi
|
||||||
echononl "\tInstall Dovecot into Folder /usr/local/dovecot-${_version}"
|
echononl "\tInstall Dovecot into Folder /usr/local/dovecot-${_version}"
|
||||||
make install > ${_log_dir}/dovecot-${_version}-install.log 2>&1 || exit 1
|
make install > ${_log_dir}/dovecot-${_version}-install.log 2>&1 || clean_up 1
|
||||||
if [ "$?" = 0 ]; then
|
if [ "$?" = 0 ]; then
|
||||||
echo -e "$rc_done"
|
echo -e "$rc_done"
|
||||||
else
|
else
|
||||||
@ -3628,7 +3691,5 @@ If you are running dovecot on a Virtual Guest System, you have to do that on the
|
|||||||
Host (Root) System.
|
Host (Root) System.
|
||||||
|
|
||||||
"
|
"
|
||||||
echo ""
|
|
||||||
|
|
||||||
rm -f "$log_file"
|
clean_up 0
|
||||||
exit
|
|
||||||
|
Loading…
Reference in New Issue
Block a user