Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:dovecot_backup_-_skript

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:dovecot_backup_-_skript [2021/04/26 20:13] – [Skript] klaustachtler:dovecot_backup_-_skript [2023/07/05 19:07] (aktuell) – [Dovecot Backup - Skript] klaus
Zeile 12: Zeile 12:
  
 ^ Beschreibung  ^ Externer Link                                                                   ^ ^ Beschreibung  ^ Externer Link                                                                   ^
-| Linux-Magazin | [[http://www.linux-magazin.de/ausgaben/2018/06/backups-von-e-mails/|Wie Admins ihre Mailserver vor Datenverlust schützen]] / {{ :tachtler:protected:054-058_email_backup_v2.pdf |Artikel aus Ausgabe 06/2018}} |+| Linux-Magazin | [[http://www.linux-magazin.de/ausgaben/2018/06/backups-von-e-mails/|Wie Admins ihre Mailserver vor Datenverlust schützen]]\\ [[https://www.linux-magazin.de/ausgaben/2018/06/backups-von-e-mails/4/|Wie Admins ihre Mailserver vor Datenverlust schützen (Seite 4) - Erwähnung]]\\ {{ :tachtler:protected:054-058_email_backup_v2.pdf |Artikel aus Ausgabe 06/2018 - geschützt}} |
 | Homepage      | [[http://dovecot.org|http://dovecot.org]]                                       | | Homepage      | [[http://dovecot.org|http://dovecot.org]]                                       |
 | Dokumentation | [[http://dovecot.org/documentation.html|http://dovecot.org/documentation.html]] | | Dokumentation | [[http://dovecot.org/documentation.html|http://dovecot.org/documentation.html]] |
Zeile 22: Zeile 22:
 Password:  Password: 
 </code> </code>
 +
 +===== Zstandard (zstd) =====
 +
 +Für den Einsatz der Komprimierungsmethode [[https://de.wikipedia.org/wiki/Zstandard|Zstandard (zstd)]] ist es ggf. erforderlich, das Programm **''zstd''** zu installieren.
 +
 +**__CentOS 7__**
 +
 +Zur Installation von [[https://de.wikipedia.org/wiki/Zstandard|Zstandard (zstd)]] über ein **''rpm''**-Paket, soll hier das Repository eines Drittanbieters genutzt werden, da [[https://de.wikipedia.org/wiki/Zstandard|Zstandard (zstd)]] **__nicht__** im [[http://centos.org|CentOS]]-Repository enthalten ist.
 +
 +Nachfolgend soll das Repository des Drittanbieters [[https://fedoraproject.org/wiki/EPEL|EPEL]] genutzt werden. Eine Anleitung, wie das Repository des Drittanbieters [[https://fedoraproject.org/wiki/EPEL|EPEL]] eingebunden werden könnte, kann unter nachfolgendem internen Link nachgelesen werden:
 +  * [[tachtler:epel_centos_7|EPEL CentOS 7]]
 +
 +Zur Installation der Komprimierungsmethode [[https://de.wikipedia.org/wiki/Zstandard|Zstandard (zstd)]] wird nachfolgendes Paket benötigt:
 +  * **''zstd''** - ist im ''epel''-Repository des Drittanbieters [[https://fedoraproject.org/wiki/EPEL|EPEL]] enthalten
 +
 +Mit nachfolgendem Befehl, werden die benötigten Pakete installiert:
 +<code>
 +# yum install zstd
 +Loaded plugins: changelog, priorities
 +234 packages excluded due to repository priority protections
 +Resolving Dependencies
 +--> Running transaction check
 +---> Package zstd.x86_64 0:1.5.0-1.el7 will be installed
 +--> Finished Dependency Resolution
 +
 +Changes in packages about to be updated:
 +
 +
 +Dependencies Resolved
 +
 +================================================================================
 + Package         Arch              Version                Repository       Size
 +================================================================================
 +Installing:
 + zstd            x86_64            1.5.0-1.el7            epel            649 k
 +
 +Transaction Summary
 +================================================================================
 +Install  1 Package
 +
 +Total download size: 649 k
 +Installed size: 2.1 M
 +Is this ok [y/d/N]: y
 +Downloading packages:
 +zstd-1.5.0-1.el7.x86_64.rpm                                | 649 kB   00:00     
 +Running transaction check
 +Running transaction test
 +Transaction test succeeded
 +Running transaction
 +  Installing : zstd-1.5.0-1.el7.x86_64                                      1/1 
 +  Verifying  : zstd-1.5.0-1.el7.x86_64                                      1/1 
 +
 +Installed:
 +  zstd.x86_64 0:1.5.0-1.el7                                                     
 +
 +Complete!
 +</code>
 +
 +Mit nachfolgendem Befehl kann überprüft werden, welcher Inhalt mit dem Paket installiert wurde.
 +
 +Paket **zstd**:
 +<code>
 +# rpm -qil zstd
 +Name        : zstd
 +Version     : 1.5.0
 +Release     : 1.el7
 +Architecture: x86_64
 +Install Date: Sat 02 Oct 2021 07:40:55 AM CEST
 +Group       : Unspecified
 +Size        : 2178120
 +License     : BSD and GPLv2
 +Signature   : RSA/SHA256, Mon 17 May 2021 03:12:58 AM CEST, Key ID 6a2faea2352c64e5
 +Source RPM  : zstd-1.5.0-1.el7.src.rpm
 +Build Date  : Sun 16 May 2021 10:13:19 PM CEST
 +Build Host  : buildhw-x86-12.iad2.fedoraproject.org
 +Relocations : (not relocatable)
 +Packager    : Fedora Project
 +Vendor      : Fedora Project
 +URL         : https://github.com/facebook/zstd
 +Bug URL     : https://bugz.fedoraproject.org/zstd
 +Summary     : Zstd compression library
 +Description :
 +Zstd, short for Zstandard, is a fast lossless compression algorithm,
 +targeting real-time compression scenarios at zlib-level compression ratio.
 +/usr/bin/pzstd
 +/usr/bin/unzstd
 +/usr/bin/zstd
 +/usr/bin/zstdcat
 +/usr/bin/zstdgrep
 +/usr/bin/zstdless
 +/usr/bin/zstdmt
 +/usr/share/doc/zstd-1.5.0
 +/usr/share/doc/zstd-1.5.0/CHANGELOG
 +/usr/share/doc/zstd-1.5.0/README.md
 +/usr/share/licenses/zstd-1.5.0
 +/usr/share/licenses/zstd-1.5.0/COPYING
 +/usr/share/licenses/zstd-1.5.0/LICENSE
 +/usr/share/man/man1/pzstd.1.gz
 +/usr/share/man/man1/unzstd.1.gz
 +/usr/share/man/man1/zstd.1.gz
 +/usr/share/man/man1/zstdcat.1.gz
 +/usr/share/man/man1/zstdgrep.1.gz
 +/usr/share/man/man1/zstdless.1.gz
 +</code>
 +
 +
  
 ===== Backup ===== ===== Backup =====
  
-Nachfolgendes Skript ermöglicht die Erstellung einer ***.tar.gz**-Datei +Nachfolgendes Skript ermöglicht die Erstellung einer ***.tar.gz**-Datei oder eine ***.tar.zst**-Datei
   * von **__allen__** Benutzerkonten   * von **__allen__** Benutzerkonten
   * **__oder__** über **__eine Datei mit E-Mail-Adressen__**, der zu sichernden Benutzerkonten   * **__oder__** über **__eine Datei mit E-Mail-Adressen__**, der zu sichernden Benutzerkonten
-  * pro **__Benutzer eine eigene *.tar.gz-Datei__**+  * pro **__Benutzer eine eigene *.tar.gz-Datei oder *.tar.zst-Datei__**
   * auf **__Dateiebene__**   * auf **__Dateiebene__**
   * mit **__konfigurierbaren Parametern__**   * mit **__konfigurierbaren Parametern__**
Zeile 44: Zeile 150:
 # CUSTOM - Script-Name. # CUSTOM - Script-Name.
 SCRIPT_NAME='dovecot_backup' SCRIPT_NAME='dovecot_backup'
 +
 +# CUSTOM - Backup-Files compression method - (possible values: gz zst).
 +COMPRESSION='gz'
  
 # CUSTOM - Backup-Files. # CUSTOM - Backup-Files.
 TMP_FOLDER='/srv/backup' TMP_FOLDER='/srv/backup'
 DIR_BACKUP='/srv/backup' DIR_BACKUP='/srv/backup'
-FILE_BACKUP=dovecot_backup_`date '+%Y%m%d_%H%M%S'`.tar.gz +FILE_BACKUP=dovecot_backup_`date '+%Y%m%d_%H%M%S'`.tar.$COMPRESSION 
-FILE_DELETE='*.tar.gz'+FILE_DELETE=$(printf '*.tar.%s$COMPRESSION)
 BACKUPFILES_DELETE=14 BACKUPFILES_DELETE=14
  
Zeile 60: Zeile 169:
 # CUSTOM - Path and file name of a file with e-mail addresses to backup, if # CUSTOM - Path and file name of a file with e-mail addresses to backup, if
 #          SET. If NOT, the script will determine all mailboxes by default. #          SET. If NOT, the script will determine all mailboxes by default.
-# FILE_USERLIST='/path/and/file/name/of/user/list/with/one/email/per/line'+# FILE_USERLIST='/path/and/file/name/of/user/list/with/one/user/per/line'
 # - OR - # - OR -
 # FILE_USERLIST='' # FILE_USERLIST=''
Zeile 83: Zeile 192:
 ^ Parametername          ^ Beschreibung                                                                            ^ ^ Parametername          ^ Beschreibung                                                                            ^
 | ''SCRIPT_NAME''        | Name des Skriptes                                                                       | | ''SCRIPT_NAME''        | Name des Skriptes                                                                       |
-| ''TMP_FOLDER''         | Verzeichnis in dem ein temporärer Ordner erstellt werden soll, um die Backup-Dateien temporär zu extrahiert, damit diese dann abschließend in ein Archivformat (tar.gz) zu packen                            |+| ''COMPRESSION''        | Art der zu verwendenden Komprimierungsmethode, je nach **Endung** (''zst'' = **''zstd''** oder ''gz'' = **''gzip''**) | 
 +| ''TMP_FOLDER''         | Verzeichnis in dem ein temporärer Ordner erstellt werden soll, um die Backup-Dateien temporär zu extrahiert, damit diese dann abschliessend in ein Archivformat (tar.gz) zu packen                            |
 | ''DIR_BACKUP''         | Verzeichnis in dem die Backup-Dateien abgelegt werden sollen                            | | ''DIR_BACKUP''         | Verzeichnis in dem die Backup-Dateien abgelegt werden sollen                            |
 | ''FILE_BACKUP''        | **Allgemeiner Teil** der Bezeichnung für die Backup-Dateien                             | | ''FILE_BACKUP''        | **Allgemeiner Teil** der Bezeichnung für die Backup-Dateien                             |
Zeile 119: Zeile 229:
  
 <code bash> <code bash>
-#!/bin/bash+#!/usr/bin/env bash
  
 ############################################################################## ##############################################################################
Zeile 128: Zeile 238:
 #               will be send by e-mail.                                      # #               will be send by e-mail.                                      #
 #                                                                            # #                                                                            #
-# Last update : 26.04.2021                                                   # +# Last update : 03.07.2023                                                   # 
-# Version     : 1.17                                                         #+# Version     : 1.20                                                         #
 #                                                                            # #                                                                            #
 # Author      : Klaus Tachtler, <klaus@tachtler.net>                         # # Author      : Klaus Tachtler, <klaus@tachtler.net>                         #
Zeile 138: Zeile 248:
 #  | This program is free software; you can redistribute it and/or modify |  # #  | This program is free software; you can redistribute it and/or modify |  #
 #  | it under the terms of the GNU General Public License as published by |  # #  | it under the terms of the GNU General Public License as published by |  #
-#  | the Free Software Foundation; either version of the License, or    |  #+#  | the Free Software Foundation; either version of the License, or    |  #
 #  | (at your option) any later version.                                  |  # #  | (at your option) any later version.                                  |  #
 #  +----------------------------------------------------------------------+  # #  +----------------------------------------------------------------------+  #
 #                                                                            # #                                                                            #
-# Copyright (c) 2021 by Klaus Tachtler.                                      #+# Copyright (c) 2023 by Klaus Tachtler.                                      #
 #                                                                            # #                                                                            #
 ############################################################################## ##############################################################################
Zeile 252: Zeile 362:
 # Version     : 1.17                                                         # # Version     : 1.17                                                         #
 # Description : GitHub: Issue #22.                                           # # Description : GitHub: Issue #22.                                           #
-#               Bugfix - movelog NOT working if an error occurs            #+#               Bugfix - movelog does not work properly when an email is to  # 
 +#               be sent due to an error, or a status email has been          # 
 +#               requested                                                  #
 #               Thanks to selbitschka.                                       # #               Thanks to selbitschka.                                       #
 +# -------------------------------------------------------------------------- #
 +# Version     : 1.18                                                         #
 +# Description : Introduction of zstd compression as an alternative choice to #
 +#               gzip compression. So now by setting the variable COMPRESSION #
 +#               the type of compression can be selected between zst and gz.  #
 +#               The zstd compression can lower the execution time by half.   #
 +#               The design of the code was also revised.                     #
 +#               The error handling was also been improved.                   #
 +#               Thanks to Marco De Lellis.                                   #
 +# -------------------------------------------------------------------------- #
 +# Version     : 1.19                                                         #
 +# Description : GitHub: Issue #24                                            #
 +#               Correct the license mismatch between GitHub and the script.  #
 +#               Thanks to David Haerdeman (Alphix).                          #
 +# -------------------------------------------------------------------------- #
 +# Version     : 1.20                                                         #
 +# Description : GitHub: Pull request #26                                     #
 +#               Improved FreeBSD compatibility.                              #
 +#               Thanks to wombelix (Dominik Wombacher)                       #
 # -------------------------------------------------------------------------- # # -------------------------------------------------------------------------- #
 # Version     : x.xx                                                         # # Version     : x.xx                                                         #
Zeile 266: Zeile 397:
 # CUSTOM - Script-Name. # CUSTOM - Script-Name.
 SCRIPT_NAME='dovecot_backup' SCRIPT_NAME='dovecot_backup'
 +
 +# CUSTOM - Backup-Files compression method - (possible values: gz zst).
 +COMPRESSION='gz'
  
 # CUSTOM - Backup-Files. # CUSTOM - Backup-Files.
 TMP_FOLDER='/srv/backup' TMP_FOLDER='/srv/backup'
 DIR_BACKUP='/srv/backup' DIR_BACKUP='/srv/backup'
-FILE_BACKUP=dovecot_backup_`date '+%Y%m%d_%H%M%S'`.tar.gz +FILE_BACKUP=dovecot_backup_`date '+%Y%m%d_%H%M%S'`.tar.$COMPRESSION 
-FILE_DELETE='*.tar.gz'+FILE_DELETE=$(printf '*.tar.%s$COMPRESSION)
 BACKUPFILES_DELETE=14 BACKUPFILES_DELETE=14
  
Zeile 292: Zeile 426:
  
 # CUSTOM - Mail-Recipient. # CUSTOM - Mail-Recipient.
-MAIL_RECIPIENT='root@tachtler.net'+MAIL_RECIPIENT='you@example.com'
  
 # CUSTOM - Status-Mail [Y|N]. # CUSTOM - Status-Mail [Y|N].
Zeile 302: Zeile 436:
  
 # Variables. # Variables.
-DSYNC_COMMAND=`command -v dsync` 
 TAR_COMMAND=`command -v tar` TAR_COMMAND=`command -v tar`
 +GZIP_COMMAND=`command -v gzip`
 +ZSTD_COMMAND=`command -v zstd`
 TOUCH_COMMAND=`command -v touch` TOUCH_COMMAND=`command -v touch`
 RM_COMMAND=`command -v rm` RM_COMMAND=`command -v rm`
Zeile 328: Zeile 463:
 VAR_COUNT_USER=0 VAR_COUNT_USER=0
 VAR_COUNT_FAIL=0 VAR_COUNT_FAIL=0
 +
 +# FreeBSD specific commands
 +if [ "$OSTYPE" = "FreeBSD" ]; then
 +        DSYNC_COMMAND=`command -v doveadm`
 +        STAT_COMMAND_PARAM_FORMAT='-f'
 +        STAT_COMMAND_ARG_FORMAT_USER='%Su'
 +        STAT_COMMAND_ARG_FORMAT_GROUP='%Sg'
 +        MKTEMP_COMMAND_PARAM_ARG="-d ${TMP_FOLDER}/${SCRIPT_NAME}-XXXXXXXXXXXX"
 +else
 + DSYNC_COMMAND=`command -v dsync`
 +        STAT_COMMAND_PARAM_FORMAT='-c'
 +        STAT_COMMAND_ARG_FORMAT_USER='%U'
 +        STAT_COMMAND_ARG_FORMAT_GROUP='%G'
 +        MKTEMP_COMMAND_PARAM_ARG="-d -p ${TMP_FOLDER} -t ${SCRIPT_NAME}-XXXXXXXXXXXX"
 +fi
  
 # Functions. # Functions.
Zeile 451: Zeile 601:
 log "" log ""
 log "SCRIPT_NAME.................: $SCRIPT_NAME" log "SCRIPT_NAME.................: $SCRIPT_NAME"
 +log ""
 +log "OS_TYPE.....................: $OSTYPE"
 +log ""
 +log "COMPRESSION.................: $COMPRESSION"
 log "" log ""
 log "TMP_FOLDER..................: $TMP_FOLDER" log "TMP_FOLDER..................: $TMP_FOLDER"
Zeile 461: Zeile 615:
 log "FILE_USERLIST_VALIDATE_EMAIL: $FILE_USERLIST_VALIDATE_EMAIL" log "FILE_USERLIST_VALIDATE_EMAIL: $FILE_USERLIST_VALIDATE_EMAIL"
 log "" log ""
 +
 +# Check if compress extension is allowed.
 +if [[ $COMPRESSION != 'zst' && $COMPRESSION != 'gz' ]]; then
 +        logline "Check compression extension" false
 +        log ""
 +        log "ERROR: Compression extension $COMPRESSION unsupported: choose between gz and zst"
 +        log ""
 +        error 19
 +fi
  
 # Check if command (file) NOT exist OR IS empty. # Check if command (file) NOT exist OR IS empty.
Zeile 477: Zeile 640:
 checkcommand $STAT_COMMAND checkcommand $STAT_COMMAND
 checkcommand $PROG_SENDMAIL checkcommand $PROG_SENDMAIL
 +
 +if [ $COMPRESSION = 'gz' ]; then
 +        checkcommand $GZIP_COMMAND
 +fi
 +
 +if [ $COMPRESSION = 'zst' ]; then
 +        checkcommand $ZSTD_COMMAND
 +fi
  
 # Check if LOCK file NOT exist. # Check if LOCK file NOT exist.
Zeile 506: Zeile 677:
  
 # Check if TMP_FOLDER is owned by $MAILDIR_USER. # Check if TMP_FOLDER is owned by $MAILDIR_USER.
-if [ "$MAILDIR_USER" != `$STAT_COMMAND -c '%U' $TMP_FOLDER` ]; then+if [ "$MAILDIR_USER" != `$STAT_COMMAND $STAT_COMMAND_PARAM_FORMAT "$STAT_COMMAND_ARG_FORMAT_USER" $TMP_FOLDER` ]; then
         logline "Check if TMP_FOLDER owner is $MAILDIR_USER " false         logline "Check if TMP_FOLDER owner is $MAILDIR_USER " false
  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $TMP_FOLDER  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $TMP_FOLDER
Zeile 520: Zeile 691:
  
 # Check if TMP_FOLDER group is $MAILDIR_GROUP. # Check if TMP_FOLDER group is $MAILDIR_GROUP.
-if [ "$MAILDIR_GROUP" != `$STAT_COMMAND -c '%G' $TMP_FOLDER` ]; then+if [ "$MAILDIR_GROUP" != `$STAT_COMMAND $STAT_COMMAND_PARAM_FORMAT "$STAT_COMMAND_ARG_FORMAT_GROUP" $TMP_FOLDER` ]; then
         logline "Check if TMP_FOLDER group is $MAILDIR_GROUP " false         logline "Check if TMP_FOLDER group is $MAILDIR_GROUP " false
  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $TMP_FOLDER  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $TMP_FOLDER
Zeile 548: Zeile 719:
  
 # Check if DIR_BACKUP is owned by $MAILDIR_USER. # Check if DIR_BACKUP is owned by $MAILDIR_USER.
-if [ "$MAILDIR_USER" != `$STAT_COMMAND -c '%U' $DIR_BACKUP` ]; then+if [ "$MAILDIR_USER" != `$STAT_COMMAND $STAT_COMMAND_PARAM_FORMAT "$STAT_COMMAND_ARG_FORMAT_USER" $DIR_BACKUP` ]; then
         logline "Check if DIR_BACKUP owner is $MAILDIR_USER " false         logline "Check if DIR_BACKUP owner is $MAILDIR_USER " false
  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $DIR_BACKUP  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $DIR_BACKUP
Zeile 562: Zeile 733:
  
 # Check if DIR_BACKUP group is $MAILDIR_GROUP. # Check if DIR_BACKUP group is $MAILDIR_GROUP.
-if [ "$MAILDIR_GROUP" != `$STAT_COMMAND -c '%G' $DIR_BACKUP` ]; then+if [ "$MAILDIR_GROUP" != `$STAT_COMMAND $STAT_COMMAND_PARAM_FORMAT "$STAT_COMMAND_ARG_FORMAT_GROUP" $DIR_BACKUP` ]; then
         logline "Check if DIR_BACKUP group is $MAILDIR_GROUP " false         logline "Check if DIR_BACKUP group is $MAILDIR_GROUP " false
  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $DIR_BACKUP  $CHOWN_COMMAND -R $MAILDIR_USER:$MAILDIR_GROUP $DIR_BACKUP
Zeile 640: Zeile 811:
  
 # Make temporary directory DIR_TEMP inside TMP_FOLDER. # Make temporary directory DIR_TEMP inside TMP_FOLDER.
-DIR_TEMP=$($MKTEMP_COMMAND -d -p $TMP_FOLDER -t $SCRIPT_NAME-XXXXXXXXXXXX)+DIR_TEMP=$($MKTEMP_COMMAND $MKTEMP_COMMAND_PARAM_ARG)
 if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
  logline "Create temporary '$DIR_TEMP' folder " false  logline "Create temporary '$DIR_TEMP' folder " false
Zeile 670: Zeile 841:
  
  log "Extract mailbox data for user: $users ..."  log "Extract mailbox data for user: $users ..."
- $DSYNC_COMMAND -o plugin/quota= -f -u $users backup $MAILDIR_TYPE:$LOCATION+ 
 +        if [ "$OSTYPE" = "FreeBSD" ]; then 
 +         $DSYNC_COMMAND -o plugin/quota= backup -u $users $MAILDIR_TYPE:$LOCATION 
 + else 
 + $DSYNC_COMMAND -o plugin/quota= -f -u $users backup $MAILDIR_TYPE:$LOCATION 
 + fi
  
  # Check the status of dsync and continue the script depending on the result.  # Check the status of dsync and continue the script depending on the result.
Zeile 692: Zeile 868:
  
  log "Packaging to archive for user: $users ..."  log "Packaging to archive for user: $users ..."
- $TAR_COMMAND -cvzf $users-$FILE_BACKUP $USERPART --atime-preserve --preserve-permissions+ if [ "$OSTYPE" = "FreeBSD" ]; then 
 + $TAR_COMMAND -cvzf $users-$FILE_BACKUP $USERPART 
 + else 
 + $TAR_COMMAND -cvzf $users-$FILE_BACKUP $USERPART --atime-preserve --preserve-permissions 
 + fi
  
  log "Delete mailbox files for user: $users ..."  log "Delete mailbox files for user: $users ..."
- $RM_COMMAND "$DIR_TEMP/$DOMAINPART" -rf+ $RM_COMMAND -rf "$DIR_TEMP/$DOMAINPART"
  if [ "$?" != "0" ]; then  if [ "$?" != "0" ]; then
         logline "Delete mailbox files at: $DIR_TEMP " false         logline "Delete mailbox files at: $DIR_TEMP " false
Zeile 726: Zeile 906:
  
 # Delete the temporary folder DIR_TEMP. # Delete the temporary folder DIR_TEMP.
-$RM_COMMAND $DIR_TEMP -rf+$RM_COMMAND -rf $DIR_TEMP
 if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
  logline "Delete temporary '$DIR_TEMP' folder " false  logline "Delete temporary '$DIR_TEMP' folder " false
Zeile 790: Zeile 970:
 log "" log ""
 END_TIMESTAMP=`$DATE_COMMAND '+%s'` END_TIMESTAMP=`$DATE_COMMAND '+%s'`
-log "Runtime: `$DATE_COMMAND -u -d "0 $END_TIMESTAMP seconds - $RUN_TIMESTAMP seconds" +'%H:%M:%S'` time elapsed."+if [ "$OSTYPE" = "FreeBSD" ]; then 
 +        DELTA=$((END_TIMESTAMP-RUN_TIMESTAMP)) 
 +        log "$(printf 'Runtime: %02d:%02d:%02d time elapsed.\n' $((DELTA/3600)) $((DELTA%3600/60)) $((DELTA%60)))" 
 +else 
 + log "Runtime: `$DATE_COMMAND -u -d "0 $END_TIMESTAMP seconds - $RUN_TIMESTAMP seconds" +'%H:%M:%S'` time elapsed." 
 +fi
 log "" log ""
 headerblock "Finished creating the backups [`$DATE_COMMAND '+%a, %d %b %Y %H:%M:%S (%z)'`]" headerblock "Finished creating the backups [`$DATE_COMMAND '+%a, %d %b %Y %H:%M:%S (%z)'`]"
Zeile 843: Zeile 1028:
 **__OHNE__ ''FILE_USERLIST'':** **__OHNE__ ''FILE_USERLIST'':**
 <code> <code>
-2021/02/21 18:47:21  INFO: +/root/Install/scripts/dovecot_backup.sh 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ + 
-2021/02/21 18:47:21  INFO: | Start backup of the mailboxes [Sun21 Feb 2021 18:47:21 (+0100)] | ++-------------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ +| Start backup of the mailboxes [Sat02 Oct 2021 08:18:37 (+0200)] | 
-2021/02/21 18:47:21  INFO: ++-------------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: SCRIPT_NAME.................: dovecot_backup + 
-2021/02/21 18:47:21  INFO+SCRIPT_NAME.................: dovecot_backup 
-2021/02/21 18:47:21  INFO: TMP_FOLDER..................: /srv/folder + 
-2021/02/21 18:47:21  INFO: DIR_BACKUP..................: /srv/backup +OS_TYPE.....................linux-gnu 
-2021/02/21 18:47:21  INFO: + 
-2021/02/21 18:47:21  INFO: MAIL_RECIPIENT..............: you@example.com +COMPRESSION.................gz 
-2021/02/21 18:47:21  INFO: MAIL_STATUS.................:+ 
-2021/02/21 18:47:21  INFO: +TMP_FOLDER..................: /srv/backup 
-2021/02/21 18:47:21  INFO: FILE_USERLIST...............: +DIR_BACKUP..................: /srv/backup 
-2021/02/21 18:47:21  INFO: FILE_USERLIST_VALIDATE_EMAIL:+ 
-2021/02/21 18:47:21  INFO: +MAIL_RECIPIENT..............: you@example.com 
-2021/02/21 18:47:21  INFO: Check if command '/bin/dsync' was found ...................[ OK ] +MAIL_STATUS.................:
-2021/02/21 18:47:21  INFO: Check if command '/bin/tar' was found .....................[ OK ] + 
-2021/02/21 18:47:21  INFO: Check if command '/bin/touch' was found ...................[ OK ] +FILE_USERLIST...............: 
-2021/02/21 18:47:21  INFO: Check if command '/bin/rm' was found ......................[ OK ] +FILE_USERLIST_VALIDATE_EMAIL:
-2021/02/21 18:47:21  INFO: Check if command '/bin/cat' was found .....................[ OK ] + 
-2021/02/21 18:47:21  INFO: Check if command '/bin/date' was found ....................[ OK ] +Check if command 'dsync'|'/bin/dsync' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/mkdir' was found ...................[ OK ] +Check if command 'tar'|'/bin/tar' was found ...............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/chown' was found ...................[ OK ] +Check if command 'touch'|'/bin/touch' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/chmod' was found ...................[ OK ] +Check if command 'rm'|'/bin/rm' was found .................[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/grep' was found ....................[ OK ] +Check if command 'cat'|'/bin/cat' was found ...............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/mktemp' was found ..................[ OK ] +Check if command 'date'|'/bin/date' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/mv' was found ......................[ OK ] +Check if command 'mkdir'|'/bin/mkdir' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/stat' was found ....................[ OK ] +Check if command 'chown'|'/bin/chown' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/sbin/sendmail' was found ...............[ OK ] +Check if command 'chmod'|'/bin/chmod' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if the script is NOT already runnig .................[ OK ] +Check if command 'grep'|'/bin/grep' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if TMP_FOLDER exists ................................[ OK ] +Check if command 'mktemp'|'/bin/mktemp' was found .........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if TMP_FOLDER owner is vmail ........................[ OK ] +Check if command 'mv'|'/bin/mv' was found .................[ OK ] 
-2021/02/21 18:47:21  INFO: Check if TMP_FOLDER group is vmail ........................[ OK ] +Check if command 'stat'|'/bin/stat' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if DIR_BACKUP exists ................................[ OK ] +Check if command 'sendmail'|'/sbin/sendmail' was found ....[ OK ] 
-2021/02/21 18:47:21  INFO: Check if DIR_BACKUP owner is vmail ........................[ OK ] +Check if command 'gzip'|'/bin/gzip' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if DIR_BACKUP group is vmail ........................[ OK ] +Check if the script is NOT already runnig .................[ OK ] 
-2021/02/21 18:47:21  INFO: +Check if TMP_FOLDER exists ................................[ OK ] 
-2021/02/21 18:47:21  INFO: Check if the variable FILE_USERLIST is set ................[ NO ] +Check if TMP_FOLDER owner is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: Mailboxes to backup will be determined by doveadm user "*"+Check if TMP_FOLDER group is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: +Check if DIR_BACKUP exists ................................[ OK ] 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ +Check if DIR_BACKUP owner is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: | Run backup dovecot_backup ..................................... | +Check if DIR_BACKUP group is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ + 
-2021/02/21 18:47:21  INFO: +Check if the variable FILE_USERLIST is set ................[ NO ] 
-2021/02/21 18:47:21  INFO: Create temporary '/srv/folder/dovecot_backup-CNXK2hqDHnLF' folder [ OK ] +Mailboxes to backup will be determined by doveadm user "*"
-2021/02/21 18:47:21  INFO: + 
-2021/02/21 18:47:21  INFO: Set ownership of DIR_TEMP to vmail:vmail ..................[ OK ] ++-----------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: +| Run backup dovecot_backup ..................................... | 
-2021/02/21 18:47:21  INFO: Start backup process for user: klaus@tachtler.net ... ++-----------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: Extract mailbox data for user: klaus@tachtler.net ... + 
-2021/02/21 18:48:32  INFO: Synchronization done for user: klaus@tachtler.net ... +Create temporary '/srv/backup/dovecot_backup-0UCtpQfhdsiH' folder [ OK ] 
-2021/02/21 18:48:32  INFO: Packaging to archive for user: klaus@tachtler.net ... + 
-2021/02/21 18:48:42  INFO: Delete mailbox files for user: klaus@tachtler.net ... +Set ownership of DIR_TEMP to vmail:vmail ..................[ OK ] 
-2021/02/21 18:48:42  INFO: Delete mailbox files at: /srv/folder/dovecot_backup-CNXK2hqDHnLF [ OK ] + 
-2021/02/21 18:48:42  INFO: Copying archive file for user: klaus@tachtler.net ... +Start backup process for user: ... 
-2021/02/21 18:48:42  INFO: Move archive file for user to: /srv/backup ................[ OK ] +... 
-2021/02/21 18:48:42  INFO: Delete archive files for user: klaus@tachtler.net ... +... 
-2021/02/21 18:48:43  INFO: Delete old archive files from: /srv/backup ................[ OK ] +... 
-2021/02/21 18:48:43  INFO: Ended backup process for user: klaus@tachtler.net ... +... 
-2021/02/21 18:48:43  INFO: +Set ownership of DIR_BACKUP to vmail:vmail ................[ OK ] 
-2021/02/21 18:48:43  INFO: Start backup process for user: petra@tachtler.net ... +Set permission of DIR_BACKUP to drwx------ ................[ OK ] 
-2021/02/21 18:48:43  INFO: Extract mailbox data for user: petra@tachtler.net ... +Set file permissions in DIR_BACKUP to -rw------- ..........[ OK ] 
-2021/02/21 18:48:49  INFO: Synchronization done for user: petra@tachtler.net ... + 
-2021/02/21 18:48:49  INFO: Packaging to archive for user: petra@tachtler.net ... ++-----------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: Delete mailbox files for user: petra@tachtler.net ... +| End backup dovecot_backup ..................................... | 
-2021/02/21 18:48:50  INFO: Delete mailbox files at: /srv/folder/dovecot_backup-CNXK2hqDHnLF [ OK ] ++-----------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: Copying archive file for user: petra@tachtler.net ... + 
-2021/02/21 18:48:50  INFO: Move archive file for user to: /srv/backup ................[ OK ] ++-----------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: Delete archive files for user: petra@tachtler.net ... +| Runtime statistics ............................................ | 
-2021/02/21 18:48:50  INFO: Delete old archive files from: /srv/backup ................[ OK ] ++-----------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: Ended backup process for user: petra@tachtler.net ... + 
-2021/02/21 18:48:50  INFO: +- Number of determined users: 4 
-2021/02/21 18:48:50  INFO: Set ownership of DIR_BACKUP to vmail:vmail ................[ OK ] +- ...Summary of failed users: 0 
-2021/02/21 18:48:50  INFO: Set permission of DIR_BACKUP to drwx------ ................[ OK ] + 
-2021/02/21 18:48:50  INFO: Set file permissions in DIR_BACKUP to -rw------- ..........[ OK ] +Runtime: 00:01:54 time elapsed. 
-2021/02/21 18:48:50  INFO: + 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ ++-------------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: | End backup dovecot_backup ..................................... | +| Finished creating the backups [Sat02 Oct 2021 08:20:31 (+0200)] | 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ ++-------------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: +
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +
-2021/02/21 18:48:50  INFO: | Runtime statistics ............................................ | +
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +
-2021/02/21 18:48:50  INFO: +
-2021/02/21 18:48:50  INFO: - Number of determined users: 2 +
-2021/02/21 18:48:50  INFO: - ...Summary of failed users: 0 +
-2021/02/21 18:48:50  INFO: +
-2021/02/21 18:48:50  INFO: Runtime: 00:01:37 time elapsed. +
-2021/02/21 18:48:50  INFO: +
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +
-2021/02/21 18:48:50  INFO: | Finished creating the backups [Sun21 Feb 2021 18:48:58 (+0100)] | +
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +
-2021/02/21 18:48:50  INFO:+
 </code> </code>
  
 **__MIT__ ''FILE_USERLIST'':** **__MIT__ ''FILE_USERLIST'':**
 <code> <code>
-2021/02/21 18:47:21  INFO: +/root/Install/scripts/dovecot_backup.sh 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ + 
-2021/02/21 18:47:21  INFO: | Start backup of the mailboxes [Sun21 Feb 2021 18:47:21 (+0100)] | ++-------------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ +| Start backup of the mailboxes [Sat02 Oct 2021 08:06:04 (+0200)] | 
-2021/02/21 18:47:21  INFO: ++-------------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: SCRIPT_NAME.................: dovecot_backup + 
-2021/02/21 18:47:21  INFO+SCRIPT_NAME.................: dovecot_backup 
-2021/02/21 18:47:21  INFO: TMP_FOLDER..................: /srv/folder + 
-2021/02/21 18:47:21  INFO: DIR_BACKUP..................: /srv/backup +OS_TYPE.....................linux-gnu 
-2021/02/21 18:47:21  INFO: + 
-2021/02/21 18:47:21  INFO: MAIL_RECIPIENT..............: you@example.com +COMPRESSION.................gz 
-2021/02/21 18:47:21  INFO: MAIL_STATUS.................:+ 
-2021/02/21 18:47:21  INFO: +TMP_FOLDER..................: /srv/backup 
-2021/02/21 18:47:21  INFO: FILE_USERLIST...............: +DIR_BACKUP..................: /srv/backup 
-2021/02/21 18:47:21  INFO: FILE_USERLIST_VALIDATE_EMAIL:+ 
-2021/02/21 18:47:21  INFO: +MAIL_RECIPIENT..............: you@example.com 
-2021/02/21 18:47:21  INFO: Check if command '/bin/dsync' was found ...................[ OK ] +MAIL_STATUS.................:
-2021/02/21 18:47:21  INFO: Check if command '/bin/tar' was found .....................[ OK ] + 
-2021/02/21 18:47:21  INFO: Check if command '/bin/touch' was found ...................[ OK ] +FILE_USERLIST...............: /srv/dovecot_backup.userlist 
-2021/02/21 18:47:21  INFO: Check if command '/bin/rm' was found ......................[ OK ] +FILE_USERLIST_VALIDATE_EMAIL:
-2021/02/21 18:47:21  INFO: Check if command '/bin/cat' was found .....................[ OK ] + 
-2021/02/21 18:47:21  INFO: Check if command '/bin/date' was found ....................[ OK ] +Check if command 'dsync'|'/bin/dsync' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/mkdir' was found ...................[ OK ] +Check if command 'tar'|'/bin/tar' was found ...............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/chown' was found ...................[ OK ] +Check if command 'touch'|'/bin/touch' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/chmod' was found ...................[ OK ] +Check if command 'rm'|'/bin/rm' was found .................[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/grep' was found ....................[ OK ] +Check if command 'cat'|'/bin/cat' was found ...............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/mktemp' was found ..................[ OK ] +Check if command 'date'|'/bin/date' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/mv' was found ......................[ OK ] +Check if command 'mkdir'|'/bin/mkdir' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/bin/stat' was found ....................[ OK ] +Check if command 'chown'|'/bin/chown' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if command '/sbin/sendmail' was found ...............[ OK ] +Check if command 'chmod'|'/bin/chmod' was found ...........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if the script is NOT already runnig .................[ OK ] +Check if command 'grep'|'/bin/grep' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if TMP_FOLDER exists ................................[ OK ] +Check if command 'mktemp'|'/bin/mktemp' was found .........[ OK ] 
-2021/02/21 18:47:21  INFO: Check if TMP_FOLDER owner is vmail ........................[ OK ] +Check if command 'mv'|'/bin/mv' was found .................[ OK ] 
-2021/02/21 18:47:21  INFO: Check if TMP_FOLDER group is vmail ........................[ OK ] +Check if command 'stat'|'/bin/stat' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if DIR_BACKUP exists ................................[ OK ] +Check if command 'sendmail'|'/sbin/sendmail' was found ....[ OK ] 
-2021/02/21 18:47:21  INFO: Check if DIR_BACKUP owner is vmail ........................[ OK ] +Check if command 'gzip'|'/bin/gzip' was found .............[ OK ] 
-2021/02/21 18:47:21  INFO: Check if DIR_BACKUP group is vmail ........................[ OK ] +Check if the script is NOT already runnig .................[ OK ] 
-2021/02/21 18:47:21  INFO: +Check if TMP_FOLDER exists ................................[ OK ] 
-2021/02/21 18:47:21  INFO: Check if the variable FILE_USERLIST is set.................[ OK ] +Check if TMP_FOLDER owner is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: Mailboxes to backup will read from file. +Check if TMP_FOLDER group is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: +Check if DIR_BACKUP exists ................................[ OK ] 
-2021/02/21 18:47:21  INFO: - File: [/home/klaus/dovecot_backup.userlist] +Check if DIR_BACKUP owner is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: - Check if FILE_USERLIST exists............................[ OK ] +Check if DIR_BACKUP group is vmail ........................[ OK ] 
-2021/02/21 18:47:21  INFO: - Check if FILE_USERLIST is readable.......................[ OK ] + 
-2021/02/21 18:47:21  INFO: +Check if the variable FILE_USERLIST is set ................[ OK ] 
-2021/02/21 18:47:21  INFO: ERROR: The user: notvaild_email.net is NOT valid e-mail address! +Mailboxes to backup will be read from file. 
-2021/02/21 18:47:21  INFO: + 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ +- File: [/srv/dovecot_backup.userlist] 
-2021/02/21 18:47:21  INFO: | Run backup dovecot_backup ..................................... | +- Check if FILE_USERLIST exists ...........................[ OK ] 
-2021/02/21 18:47:21  INFO: +-----------------------------------------------------------------+ +- Check if FILE_USERLIST is readable ......................[ OK ] 
-2021/02/21 18:47:21  INFO: + 
-2021/02/21 18:47:21  INFO: Create temporary '/srv/folder/dovecot_backup-CNXK2hqDHnLF' folder [ OK ] ++-----------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: +| Run backup dovecot_backup ..................................... | 
-2021/02/21 18:47:21  INFO: Set ownership of DIR_TEMP to vmail:vmail ..................[ OK ] ++-----------------------------------------------------------------+ 
-2021/02/21 18:47:21  INFO: + 
-2021/02/21 18:47:21  INFO: Start backup process for user: klaus@tachtler.net ... +Create temporary '/srv/backup/dovecot_backup-OnUxredsCgti' folder [ OK ] 
-2021/02/21 18:47:21  INFO: Extract mailbox data for user: klaus@tachtler.net ... + 
-2021/02/21 18:48:32  INFO: Synchronization done for user: klaus@tachtler.net ... +Set ownership of DIR_TEMP to vmail:vmail ..................[ OK ] 
-2021/02/21 18:48:32  INFO: Packaging to archive for user: klaus@tachtler.net ... + 
-2021/02/21 18:48:42  INFO: Delete mailbox files for user: klaus@tachtler.net ... +Start backup process for user: klaus@tachtler.net ... 
-2021/02/21 18:48:42  INFO: Delete mailbox files at: /srv/folder/dovecot_backup-CNXK2hqDHnLF [ OK ] +Extract mailbox data for user: klaus@tachtler.net ... 
-2021/02/21 18:48:42  INFO: Copying archive file for user: klaus@tachtler.net ... +... 
-2021/02/21 18:48:42  INFO: Move archive file for user to: /srv/backup ................[ OK ] +... 
-2021/02/21 18:48:42  INFO: Delete archive files for user: klaus@tachtler.net ... +Synchronization done for user: klaus@tachtler.net ... 
-2021/02/21 18:48:43  INFO: Delete old archive files from: /srv/backup ................[ OK ] +Packaging to archive for user: klaus@tachtler.net ... 
-2021/02/21 18:48:43  INFO: Ended backup process for user: klaus@tachtler.net ... +... 
-2021/02/21 18:48:43  INFO: +... 
-2021/02/21 18:48:43  INFO: Start backup process for user: petra@tachtler.net ... +Delete mailbox files for user: klaus@tachtler.net ... 
-2021/02/21 18:48:43  INFO: Extract mailbox data for user: petra@tachtler.net ... +Delete mailbox files at: /srv/backup/dovecot_backup-OnUxredsCgti [ OK ] 
-2021/02/21 18:48:49  INFO: Synchronization done for user: petra@tachtler.net ... +Copying archive file for user: klaus@tachtler.net ... 
-2021/02/21 18:48:49  INFO: Packaging to archive for user: petra@tachtler.net ... +Move archive file for user to: /srv/backup ................[ OK ] 
-2021/02/21 18:48:50  INFO: Delete mailbox files for user: petra@tachtler.net ... +Delete archive files for user: klaus@tachtler.net ... 
-2021/02/21 18:48:50  INFO: Delete mailbox files at: /srv/folder/dovecot_backup-CNXK2hqDHnLF [ OK ] +Delete old archive files from: /srv/backup ................[ OK ] 
-2021/02/21 18:48:50  INFO: Copying archive file for user: petra@tachtler.net ... +Ended backup process for user: klaus@tachtler.net ... 
-2021/02/21 18:48:50  INFO: Move archive file for user to: /srv/backup ................[ OK ] + 
-2021/02/21 18:48:50  INFO: Delete archive files for user: petra@tachtler.net ... +Start backup process for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: Delete old archive files from: /srv/backup ................[ OK ] +Extract mailbox data for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: Ended backup process for user: petra@tachtler.net ... +... 
-2021/02/21 18:48:50  INFO: +... 
-2021/02/21 18:48:50  INFO: Set ownership of DIR_BACKUP to vmail:vmail ................[ OK ] +Synchronization done for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: Set permission of DIR_BACKUP to drwx------ ................[ OK ] +Packaging to archive for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: Set file permissions in DIR_BACKUP to -rw------- ..........[ OK ] +... 
-2021/02/21 18:48:50  INFO: +... 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +Delete mailbox files for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: | End backup dovecot_backup ..................................... | +Delete mailbox files at: /srv/backup/dovecot_backup-OnUxredsCgti [ OK ] 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +Copying archive file for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: +Move archive file for user to: /srv/backup ................[ OK ] 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +Delete archive files for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: | Runtime statistics ............................................ | +Delete old archive files from: /srv/backup ................[ OK ] 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +Ended backup process for user: petra@tachtler.net ... 
-2021/02/21 18:48:50  INFO: + 
-2021/02/21 18:48:50  INFO: - Number of determined users: 3 +Delete temporary '/srv/backup/dovecot_backup-OnUxredsCgti' folder [ OK ] 
-2021/02/21 18:48:50  INFO: - ...Summary of failed users: 1 + 
-2021/02/21 18:48:50  INFO: - ...Mailbox of failed users: +Set ownership of DIR_BACKUP to vmail:vmail ................[ OK ] 
-2021/02/21 18:48:50  INFO: - ... notvaild_email.net +Set permission of DIR_BACKUP to drwx------ ................[ OK ] 
-2021/02/21 18:48:50  INFO: +Set file permissions in DIR_BACKUP to -rw------- ..........[ OK ] 
-2021/02/21 18:48:50  INFO: Runtime: 00:01:37 time elapsed. + 
-2021/02/21 18:48:50  INFO: ++-----------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ +| End backup dovecot_backup ..................................... | 
-2021/02/21 18:48:50  INFO: | Finished creating the backups [Sun21 Feb 2021 18:48:58 (+0100)] | ++-----------------------------------------------------------------+ 
-2021/02/21 18:48:50  INFO: +-----------------------------------------------------------------+ + 
-2021/02/21 18:48:50  INFO:++-----------------------------------------------------------------+ 
 +| Runtime statistics ............................................ | 
 ++-----------------------------------------------------------------+ 
 + 
 +- Number of determined users: 2 
 +- ...Summary of failed users: 0 
 + 
 +Runtime: 00:01:46 time elapsed. 
 + 
 ++-------------------------------------------------------------------+ 
 +| Finished creating the backups [Sat02 Oct 2021 08:07:50 (+0200)] | 
 ++-------------------------------------------------------------------+ 
 </code> </code>
  
Zeile 1141: Zeile 1325:
   - Das Backup befindet sich unter **''/srv/backup''**   - Das Backup befindet sich unter **''/srv/backup''**
   - Der Benutzer lautet **''klaus@tachtler.net''**   - Der Benutzer lautet **''klaus@tachtler.net''**
 +***.tar.gz-Komprimierungsmethode**
 +<code>
 +# tar -avzf /srv/backup/klaus@tachtler.net-dovecot_backup_20140429_151044.tar.gz -C /tmp/recovery --atime-preserve --preserve-permissions
 +</code>
 +***.tar.zst-Komprimierungsmethode**
 +<code>
 +# tar -avzf /srv/backup/klaus@tachtler.net-dovecot_backup_20140429_151044.tar.zst -C /tmp/recovery --atime-preserve --preserve-permissions
 +</code>
 +
 +:!: **HINWEIS** - Der Paramter **''-a''** beim Befehl **''tar''** hat nachfolgende Bedeutung:
 <code> <code>
-# tar -xvzf /srv/backup/klaus@tachtler.net-dovecot_backup_20140429_151044.tar.gz -C /tmp/recovery --atime-preserve --preserve-permissions+-a, --auto-compress 
 +              use archive suffix to determine the compression program
 </code> </code>
  
tachtler/dovecot_backup_-_skript.1619460781.txt.gz · Zuletzt geändert: 2021/04/26 20:13 von klaus