tachtler:dovecot_backup_-_skript
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
tachtler:dovecot_backup_-_skript [2019/01/30 21:47] – [Backup] klaus | tachtler:dovecot_backup_-_skript [2019/01/31 07:04] – [Skript] klaus | ||
---|---|---|---|
Zeile 63: | Zeile 63: | ||
# FILE_USERLIST='' | # FILE_USERLIST='' | ||
FILE_USERLIST='' | FILE_USERLIST='' | ||
+ | |||
+ | # CUSTOM - Check when FILE_USERLIST was used, if the user per line was a | ||
+ | # valid e-mail address [Y|N]. | ||
+ | FILE_USERLIST_VALIDATE_EMAIL=' | ||
# CUSTOM - Mail-Recipient. | # CUSTOM - Mail-Recipient. | ||
Zeile 122: | Zeile 126: | ||
# will be send by e-mail. | # will be send by e-mail. | ||
# # | # # | ||
- | # Last update : 30.01.2019 | + | # Last update : 31.01.2019 |
- | # Version | + | # Version |
# # | # # | ||
# Author | # Author | ||
Zeile 200: | Zeile 204: | ||
# | # | ||
# | # | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : Code redesign. | ||
# -------------------------------------------------------------------------- # | # -------------------------------------------------------------------------- # | ||
# Version | # Version | ||
Zeile 237: | Zeile 244: | ||
# CUSTOM - Mail-Recipient. | # CUSTOM - Mail-Recipient. | ||
- | MAIL_RECIPIENT=' | + | MAIL_RECIPIENT=' |
# CUSTOM - Status-Mail [Y|N]. | # CUSTOM - Status-Mail [Y|N]. | ||
Zeile 317: | Zeile 324: | ||
$RM_COMMAND -f $FILE_MAIL | $RM_COMMAND -f $FILE_MAIL | ||
+ | } | ||
+ | |||
+ | function error () { | ||
+ | # Parameters. | ||
+ | CODE_ERROR=" | ||
+ | |||
+ | sendmail ERROR | ||
+ | movelog | ||
+ | exit $CODE_ERROR | ||
+ | } | ||
+ | |||
+ | function headerblock () { | ||
+ | # Parameters. | ||
+ | TEXT_INPUT=" | ||
+ | LINE_COUNT=68 | ||
+ | |||
+ | # Help variables. | ||
+ | WORD_COUNT=`echo $TEXT_INPUT | wc -c` | ||
+ | CHAR_AFTER=`expr $LINE_COUNT - $WORD_COUNT - 5` | ||
+ | LINE_SPACE=`expr $LINE_COUNT - 3` | ||
+ | |||
+ | # Format placeholder. | ||
+ | if [ " | ||
+ | CHAR_AFTER=" | ||
+ | fi | ||
+ | |||
+ | printf -v char ' | ||
+ | printf -v line ' | ||
+ | |||
+ | log " | ||
+ | log "| $TEXT_INPUT${char// | ||
+ | log " | ||
+ | } | ||
+ | |||
+ | function logline () { | ||
+ | # Parameters. | ||
+ | TEXT_INPUT=" | ||
+ | TRUE_FALSE=" | ||
+ | LINE_COUNT=68 | ||
+ | |||
+ | # Help variables. | ||
+ | WORD_COUNT=`echo $TEXT_INPUT | wc -c` | ||
+ | CHAR_AFTER=`expr $LINE_COUNT - $WORD_COUNT - 9` | ||
+ | |||
+ | # Format placeholder. | ||
+ | if [ " | ||
+ | CHAR_AFTER=" | ||
+ | fi | ||
+ | |||
+ | printf -v char ' | ||
+ | |||
+ | if [ " | ||
+ | log " | ||
+ | else | ||
+ | log " | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | function checkcommand () { | ||
+ | # Parameters. | ||
+ | CHECK_COMMAND=" | ||
+ | |||
+ | if [ ! -s " | ||
+ | logline "Check if command ' | ||
+ | error 10 | ||
+ | else | ||
+ | logline "Check if command ' | ||
+ | fi | ||
} | } | ||
Zeile 322: | Zeile 397: | ||
log "" | log "" | ||
RUN_TIMESTAMP=`$DATE_COMMAND ' | RUN_TIMESTAMP=`$DATE_COMMAND ' | ||
- | log "+-----------------------------------------------------------------+" | + | headerblock |
- | log " | + | |
- | log " | + | |
log "" | log "" | ||
log " | log " | ||
Zeile 338: | Zeile 411: | ||
# Check if command (file) NOT exist OR IS empty. | # Check if command (file) NOT exist OR IS empty. | ||
- | if [ ! -s "$DSYNC_COMMAND" ]; then | + | checkcommand |
- | log "Check if command ' | + | checkcommand |
- | sendmail ERROR | + | checkcommand |
- | movelog | + | checkcommand |
- | exit 11 | + | checkcommand |
- | else | + | checkcommand |
- | log "Check if command ' | + | checkcommand |
- | fi | + | checkcommand |
- | + | checkcommand | |
- | # Check if command (file) NOT exist OR IS empty. | + | checkcommand |
- | if [ ! -s "$TAR_COMMAND" ]; then | + | checkcommand |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 12 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$TOUCH_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 13 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$RM_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 14 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$CAT_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 15 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$DATE_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 16 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$MKDIR_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 17 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$CHOWN_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 18 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$CHMOD_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 19 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$GREP_COMMAND" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 20 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
- | + | ||
- | # Check if command (file) NOT exist OR IS empty. | + | |
- | if [ ! -s "$PROG_SENDMAIL" ]; then | + | |
- | log "Check if command ' | + | |
- | sendmail ERROR | + | |
- | movelog | + | |
- | exit 21 | + | |
- | else | + | |
- | log "Check if command ' | + | |
- | fi | + | |
# Check if LOCK file NOT exist. | # Check if LOCK file NOT exist. | ||
if [ ! -e " | if [ ! -e " | ||
- | | + | |
$TOUCH_COMMAND $FILE_LOCK | $TOUCH_COMMAND $FILE_LOCK | ||
else | else | ||
- | | + | |
log "" | log "" | ||
log " | log " | ||
log "" | log "" | ||
- | sendmail ERROR | + | error 20 |
- | movelog | + | |
- | exit 30 | + | |
fi | fi | ||
# Check if DIR_BACKUP Directory NOT exists. | # Check if DIR_BACKUP Directory NOT exists. | ||
if [ ! -d " | if [ ! -d " | ||
- | | + | |
$MKDIR_COMMAND -p $DIR_BACKUP | $MKDIR_COMMAND -p $DIR_BACKUP | ||
- | | + | |
else | else | ||
- | | + | |
fi | fi | ||
Zeile 474: | Zeile 448: | ||
log "" | log "" | ||
if [ ! -n " | if [ ! -n " | ||
- | log "Check if the variable FILE_USERLIST is set.................[ | + | log "Check if the variable FILE_USERLIST is set ................[ |
log " | log " | ||
Zeile 481: | Zeile 455: | ||
done | done | ||
else | else | ||
- | | + | |
- | log " | + | log " |
log "" | log "" | ||
log "- File: [$FILE_USERLIST]" | log "- File: [$FILE_USERLIST]" | ||
Zeile 488: | Zeile 462: | ||
# Check if file exists. | # Check if file exists. | ||
if [ -f " | if [ -f " | ||
- | log "- Check if FILE_USERLIST exists............................[ | + | logline |
else | else | ||
- | log "- Check if FILE_USERLIST exists............................[FAILED]" | + | logline |
log "" | log "" | ||
- | sendmail ERROR | + | error 30 |
- | movelog | + | |
- | exit 40 | + | |
fi | fi | ||
# Check if file is readable. | # Check if file is readable. | ||
if [ -r " | if [ -r " | ||
- | log "- Check if FILE_USERLIST is readable.......................[ | + | logline |
else | else | ||
- | log "- Check if FILE_USERLIST is readable.......................[FAILED]" | + | logline |
log "" | log "" | ||
- | sendmail ERROR | + | error 31 |
- | movelog | + | |
- | exit 41 | + | |
fi | fi | ||
Zeile 536: | Zeile 506: | ||
# Start backup. | # Start backup. | ||
log "" | log "" | ||
- | log "+-----------------------------------------------------------------+" | + | headerblock |
- | log " | + | |
- | log " | + | |
log "" | log "" | ||
Zeile 579: | Zeile 547: | ||
(ls -t $users-$FILE_DELETE|head -n $BACKUPFILES_DELETE; | (ls -t $users-$FILE_DELETE|head -n $BACKUPFILES_DELETE; | ||
if [ " | if [ " | ||
- | log " | + | logline |
else | else | ||
- | log " | + | logline |
fi | fi | ||
Zeile 587: | Zeile 555: | ||
$RM_COMMAND " | $RM_COMMAND " | ||
if [ " | if [ " | ||
- | log " | + | logline |
else | else | ||
- | log " | + | logline |
fi | fi | ||
fi | fi | ||
Zeile 607: | Zeile 575: | ||
log "" | log "" | ||
$RM_COMMAND -f $FILE_LOCK | $RM_COMMAND -f $FILE_LOCK | ||
- | sendmail ERROR | + | error |
- | movelog | + | |
- | exit 99 | + | |
else | else | ||
- | log "+-----------------------------------------------------------------+" | + | headerblock |
- | log " | + | |
- | log " | + | |
log "" | log "" | ||
fi | fi | ||
# Finish syncing with runntime statistics. | # Finish syncing with runntime statistics. | ||
- | log "+-----------------------------------------------------------------+" | + | headerblock |
- | log " | + | |
- | log " | + | |
log "" | log "" | ||
log "- Number of determined users: $VAR_COUNT_USER" | log "- Number of determined users: $VAR_COUNT_USER" | ||
Zeile 637: | Zeile 599: | ||
log " | log " | ||
log "" | log "" | ||
- | log "+-----------------------------------------------------------------+" | + | headerblock |
- | log " | + | |
- | log " | + | |
log "" | log "" | ||
Zeile 692: | Zeile 652: | ||
2019/01/30 14: | 2019/01/30 14: | ||
2019/01/30 14: | 2019/01/30 14: | ||
- | 2019/01/30 14: | + | 2019/01/30 14: |
2019/01/30 14: | 2019/01/30 14: | ||
- | 2019/01/30 14: | + | 2019/01/30 14: |
2019/01/30 14: | 2019/01/30 14: | ||
- | 2019/01/30 14: | + | 2019/01/30 14: |
+ | 2019/01/30 14: | ||
2019/01/30 14: | 2019/01/30 14: | ||
- | 2019/01/30 14: | + | 2019/01/30 14: |
- | 2019/01/30 14: | + | 2019/01/30 14: |
2019/01/30 14: | 2019/01/30 14: | ||
2019/01/30 14: | 2019/01/30 14: | ||
Zeile 768: | Zeile 729: | ||
2019/01/30 15: | 2019/01/30 15: | ||
2019/01/30 15: | 2019/01/30 15: | ||
- | 2019/01/30 15: | + | 2019/01/30 15: |
2019/01/30 15: | 2019/01/30 15: | ||
- | 2019/01/30 15: | + | 2019/01/30 15: |
2019/01/30 15: | 2019/01/30 15: | ||
- | 2019/01/30 15: | + | 2019/01/30 15: |
+ | 2019/01/30 15: | ||
2019/01/30 15: | 2019/01/30 15: | ||
- | 2019/01/30 15: | + | 2019/01/30 15: |
- | 2019/01/30 15: | + | 2019/01/30 15: |
2019/01/30 15: | 2019/01/30 15: | ||
2019/01/30 15: | 2019/01/30 15: | ||
Zeile 798: | Zeile 760: | ||
2019/01/30 15: | 2019/01/30 15: | ||
2019/01/30 15: | 2019/01/30 15: | ||
- | 2019/01/30 15: | + | 2019/01/30 15: |
2019/01/30 15: | 2019/01/30 15: | ||
2019/01/30 15: | 2019/01/30 15: | ||
Zeile 832: | Zeile 794: | ||
2019/01/30 15: | 2019/01/30 15: | ||
2019/01/30 15: | 2019/01/30 15: | ||
- | 2019/01/30 15: | + | 2019/01/30 15: |
2019/01/30 15: | 2019/01/30 15: | ||
2019/01/30 15: | 2019/01/30 15: |
tachtler/dovecot_backup_-_skript.txt · Zuletzt geändert: 2023/07/05 19:07 von klaus