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 [2021/02/21 19:24] – [Skript] klaus | tachtler:dovecot_backup_-_skript [2023/07/03 19:07] – [Skript] klaus | ||
---|---|---|---|
Zeile 22: | Zeile 22: | ||
Password: | Password: | ||
</ | </ | ||
+ | |||
+ | ===== Zstandard (zstd) ===== | ||
+ | |||
+ | Für den Einsatz der Komprimierungsmethode [[https:// | ||
+ | |||
+ | **__CentOS 7__** | ||
+ | |||
+ | Zur Installation von [[https:// | ||
+ | |||
+ | Nachfolgend soll das Repository des Drittanbieters [[https:// | ||
+ | * [[tachtler: | ||
+ | |||
+ | Zur Installation der Komprimierungsmethode [[https:// | ||
+ | * **'' | ||
+ | |||
+ | Mit nachfolgendem Befehl, werden die benötigten Pakete installiert: | ||
+ | < | ||
+ | # 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: | ||
+ | --> Finished Dependency Resolution | ||
+ | |||
+ | Changes in packages about to be updated: | ||
+ | |||
+ | |||
+ | Dependencies Resolved | ||
+ | |||
+ | ================================================================================ | ||
+ | | ||
+ | ================================================================================ | ||
+ | Installing: | ||
+ | | ||
+ | |||
+ | Transaction Summary | ||
+ | ================================================================================ | ||
+ | Install | ||
+ | |||
+ | 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 | ||
+ | Running transaction check | ||
+ | Running transaction test | ||
+ | Transaction test succeeded | ||
+ | Running transaction | ||
+ | Installing : zstd-1.5.0-1.el7.x86_64 | ||
+ | Verifying | ||
+ | |||
+ | Installed: | ||
+ | zstd.x86_64 0: | ||
+ | |||
+ | Complete! | ||
+ | </ | ||
+ | |||
+ | Mit nachfolgendem Befehl kann überprüft werden, welcher Inhalt mit dem Paket installiert wurde. | ||
+ | |||
+ | Paket **zstd**: | ||
+ | < | ||
+ | # rpm -qil zstd | ||
+ | Name : zstd | ||
+ | Version | ||
+ | Release | ||
+ | Architecture: | ||
+ | Install Date: Sat 02 Oct 2021 07:40:55 AM CEST | ||
+ | Group : Unspecified | ||
+ | Size : 2178120 | ||
+ | License | ||
+ | Signature | ||
+ | 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 | ||
+ | Vendor | ||
+ | URL : https:// | ||
+ | Bug URL : https:// | ||
+ | Summary | ||
+ | Description : | ||
+ | Zstd, short for Zstandard, is a fast lossless compression algorithm, | ||
+ | targeting real-time compression scenarios at zlib-level compression ratio. | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
===== 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__**, | * **__oder__** über **__eine Datei mit E-Mail-Adressen__**, | ||
- | * 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=' | SCRIPT_NAME=' | ||
+ | |||
+ | # CUSTOM - Backup-Files compression method - (possible values: gz zst). | ||
+ | COMPRESSION=' | ||
# CUSTOM - Backup-Files. | # CUSTOM - Backup-Files. | ||
TMP_FOLDER='/ | TMP_FOLDER='/ | ||
DIR_BACKUP='/ | DIR_BACKUP='/ | ||
- | FILE_BACKUP=dovecot_backup_`date ' | + | FILE_BACKUP=dovecot_backup_`date ' |
- | FILE_DELETE=' | + | FILE_DELETE=$(printf |
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='/ | + | # FILE_USERLIST='/ |
# - OR - | # - OR - | ||
# FILE_USERLIST='' | # FILE_USERLIST='' | ||
Zeile 83: | Zeile 192: | ||
^ Parametername | ^ Parametername | ||
| '' | | '' | ||
- | | '' | + | | '' |
+ | | '' | ||
| '' | | '' | ||
| '' | | '' | ||
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 : 21.02.2021 # | + | # Last update : 03.07.2023 # |
- | # Version | + | # Version |
# # | # # | ||
# Author | # Author | ||
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 | + | # | the Free Software Foundation; either version |
# | (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 249: | Zeile 359: | ||
# Version | # Version | ||
# Description : Optimize ownership settings for TMP_FOLDER and DIR_BACKUP. | # Description : Optimize ownership settings for TMP_FOLDER and DIR_BACKUP. | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : GitHub: Issue #22. # | ||
+ | # | ||
+ | # be sent due to an error, or a status email has been # | ||
+ | # | ||
+ | # | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # 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. | ||
+ | # | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : GitHub: Issue #24 # | ||
+ | # | ||
+ | # | ||
+ | # -------------------------------------------------------------------------- # | ||
+ | # Version | ||
+ | # Description : GitHub: Pull request #26 # | ||
+ | # | ||
+ | # | ||
# -------------------------------------------------------------------------- # | # -------------------------------------------------------------------------- # | ||
# Version | # Version | ||
Zeile 261: | Zeile 397: | ||
# CUSTOM - Script-Name. | # CUSTOM - Script-Name. | ||
SCRIPT_NAME=' | SCRIPT_NAME=' | ||
+ | |||
+ | # CUSTOM - Backup-Files compression method - (possible values: gz zst). | ||
+ | COMPRESSION=' | ||
# CUSTOM - Backup-Files. | # CUSTOM - Backup-Files. | ||
TMP_FOLDER='/ | TMP_FOLDER='/ | ||
DIR_BACKUP='/ | DIR_BACKUP='/ | ||
- | FILE_BACKUP=dovecot_backup_`date ' | + | FILE_BACKUP=dovecot_backup_`date ' |
- | FILE_DELETE=' | + | FILE_DELETE=$(printf |
BACKUPFILES_DELETE=14 | BACKUPFILES_DELETE=14 | ||
Zeile 297: | 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 323: | Zeile 463: | ||
VAR_COUNT_USER=0 | VAR_COUNT_USER=0 | ||
VAR_COUNT_FAIL=0 | VAR_COUNT_FAIL=0 | ||
+ | |||
+ | # FreeBSD specific commands | ||
+ | if [ " | ||
+ | DSYNC_COMMAND=`command -v doveadm` | ||
+ | STAT_COMMAND_PARAM_FORMAT=' | ||
+ | STAT_COMMAND_ARG_FORMAT_USER=' | ||
+ | STAT_COMMAND_ARG_FORMAT_GROUP=' | ||
+ | MKTEMP_COMMAND_PARAM_ARG=" | ||
+ | else | ||
+ | DSYNC_COMMAND=`command -v dsync` | ||
+ | STAT_COMMAND_PARAM_FORMAT=' | ||
+ | STAT_COMMAND_ARG_FORMAT_USER=' | ||
+ | STAT_COMMAND_ARG_FORMAT_GROUP=' | ||
+ | MKTEMP_COMMAND_PARAM_ARG=" | ||
+ | fi | ||
# Functions. | # Functions. | ||
Zeile 446: | Zeile 601: | ||
log "" | log "" | ||
log " | log " | ||
+ | log "" | ||
+ | log " | ||
+ | log "" | ||
+ | log " | ||
log "" | log "" | ||
log " | log " | ||
Zeile 456: | Zeile 615: | ||
log " | log " | ||
log "" | log "" | ||
+ | |||
+ | # Check if compress extension is allowed. | ||
+ | if [[ $COMPRESSION != ' | ||
+ | logline "Check compression extension" | ||
+ | log "" | ||
+ | log " | ||
+ | log "" | ||
+ | error 19 | ||
+ | fi | ||
# Check if command (file) NOT exist OR IS empty. | # Check if command (file) NOT exist OR IS empty. | ||
Zeile 472: | Zeile 640: | ||
checkcommand $STAT_COMMAND | checkcommand $STAT_COMMAND | ||
checkcommand $PROG_SENDMAIL | checkcommand $PROG_SENDMAIL | ||
+ | |||
+ | if [ $COMPRESSION = ' | ||
+ | checkcommand $GZIP_COMMAND | ||
+ | fi | ||
+ | |||
+ | if [ $COMPRESSION = ' | ||
+ | checkcommand $ZSTD_COMMAND | ||
+ | fi | ||
# Check if LOCK file NOT exist. | # Check if LOCK file NOT exist. | ||
Zeile 501: | Zeile 677: | ||
# Check if TMP_FOLDER is owned by $MAILDIR_USER. | # Check if TMP_FOLDER is owned by $MAILDIR_USER. | ||
- | if [ " | + | if [ " |
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: | $CHOWN_COMMAND -R $MAILDIR_USER: | ||
Zeile 515: | Zeile 691: | ||
# Check if TMP_FOLDER group is $MAILDIR_GROUP. | # Check if TMP_FOLDER group is $MAILDIR_GROUP. | ||
- | if [ " | + | if [ " |
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: | $CHOWN_COMMAND -R $MAILDIR_USER: | ||
Zeile 543: | Zeile 719: | ||
# Check if DIR_BACKUP is owned by $MAILDIR_USER. | # Check if DIR_BACKUP is owned by $MAILDIR_USER. | ||
- | if [ " | + | if [ " |
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: | $CHOWN_COMMAND -R $MAILDIR_USER: | ||
Zeile 557: | Zeile 733: | ||
# Check if DIR_BACKUP group is $MAILDIR_GROUP. | # Check if DIR_BACKUP group is $MAILDIR_GROUP. | ||
- | if [ " | + | if [ " |
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: | $CHOWN_COMMAND -R $MAILDIR_USER: | ||
Zeile 635: | Zeile 811: | ||
# Make temporary directory DIR_TEMP inside TMP_FOLDER. | # Make temporary directory DIR_TEMP inside TMP_FOLDER. | ||
- | DIR_TEMP=$($MKTEMP_COMMAND | + | DIR_TEMP=$($MKTEMP_COMMAND $MKTEMP_COMMAND_PARAM_ARG) |
if [ " | if [ " | ||
logline " | logline " | ||
Zeile 665: | Zeile 841: | ||
log " | log " | ||
- | $DSYNC_COMMAND -o plugin/ | + | |
+ | if [ " | ||
+ | $DSYNC_COMMAND -o plugin/ | ||
+ | else | ||
+ | $DSYNC_COMMAND -o plugin/ | ||
+ | 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 687: | Zeile 868: | ||
log " | log " | ||
- | $TAR_COMMAND -cvzf $users-$FILE_BACKUP $USERPART --atime-preserve --preserve-permissions | + | if [ " |
+ | $TAR_COMMAND -cvzf $users-$FILE_BACKUP $USERPART | ||
+ | else | ||
+ | $TAR_COMMAND -cvzf $users-$FILE_BACKUP $USERPART --atime-preserve --preserve-permissions | ||
+ | fi | ||
log " | log " | ||
- | $RM_COMMAND " | + | $RM_COMMAND |
if [ " | if [ " | ||
logline " | logline " | ||
Zeile 721: | Zeile 906: | ||
# Delete the temporary folder DIR_TEMP. | # Delete the temporary folder DIR_TEMP. | ||
- | $RM_COMMAND | + | $RM_COMMAND -rf $DIR_TEMP |
if [ " | if [ " | ||
logline " | logline " | ||
Zeile 785: | Zeile 970: | ||
log "" | log "" | ||
END_TIMESTAMP=`$DATE_COMMAND ' | END_TIMESTAMP=`$DATE_COMMAND ' | ||
- | log " | + | if [ " |
+ | DIFF_TIMESTAMP=$(($RUN_TIMESTAMP-$END_TIMESTAMP)) | ||
+ | log " | ||
+ | else | ||
+ | log " | ||
+ | fi | ||
log "" | log "" | ||
headerblock " | headerblock " | ||
log "" | log "" | ||
- | |||
- | # Move the log to the permanent log file. | ||
- | movelog | ||
# If errors occurred on user backups, exit with return code 1 instead of 0. | # If errors occurred on user backups, exit with return code 1 instead of 0. | ||
if [ " | if [ " | ||
sendmail ERROR | sendmail ERROR | ||
+ | # Move the log to the permanent log file. | ||
+ | movelog | ||
exit 1 | exit 1 | ||
else | else | ||
Zeile 802: | Zeile 991: | ||
sendmail STATUS | sendmail STATUS | ||
fi | fi | ||
+ | # Move the log to the permanent log file. | ||
+ | movelog | ||
exit 0 | exit 0 | ||
fi | fi | ||
Zeile 837: | Zeile 1028: | ||
**__OHNE__ '' | **__OHNE__ '' | ||
< | < | ||
- | 2021/02/21 18: | + | # /root/Install/scripts/dovecot_backup.sh |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-------------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | Start backup of the mailboxes [Sat, 02 Oct 2021 08:18:37 (+0200)] | |
- | 2021/02/21 18: | + | +-------------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | SCRIPT_NAME.................: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | OS_TYPE.....................: linux-gnu |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | COMPRESSION.................: gz |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | TMP_FOLDER..................: |
- | 2021/02/21 18: | + | DIR_BACKUP..................: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | MAIL_RECIPIENT..............: |
- | 2021/02/21 18: | + | MAIL_STATUS.................: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | FILE_USERLIST...............: |
- | 2021/02/21 18: | + | FILE_USERLIST_VALIDATE_EMAIL: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command ' |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if the script is NOT already runnig .................[ OK ] |
- | 2021/02/21 18: | + | Check if TMP_FOLDER exists ................................[ OK ] |
- | 2021/02/21 18: | + | Check if TMP_FOLDER owner is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | Check if TMP_FOLDER group is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | Check if DIR_BACKUP exists ................................[ OK ] |
- | 2021/02/21 18: | + | Check if DIR_BACKUP owner is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | Check if DIR_BACKUP group is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Check if the variable FILE_USERLIST is set ................[ NO ] |
- | 2021/02/21 18: | + | Mailboxes to backup will be determined by doveadm user " |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | Run backup dovecot_backup ..................................... | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Create temporary '/srv/backup/ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Set ownership of DIR_TEMP to vmail:vmail ..................[ OK ] |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Start backup process for user: ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | Set ownership of DIR_BACKUP to vmail:vmail ................[ OK ] |
- | 2021/02/21 18: | + | Set permission of DIR_BACKUP to drwx------ ................[ OK ] |
- | 2021/02/21 18: | + | Set file permissions in DIR_BACKUP to -rw------- ..........[ OK ] |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | End backup dovecot_backup ..................................... | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | Runtime statistics ............................................ | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | - Number of determined users: |
- | 2021/02/21 18: | + | - ...Summary of failed users: 0 |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Runtime: 00:01:54 time elapsed. |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-------------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | Finished creating the backups [Sat, 02 Oct 2021 08:20:31 (+0200)] | |
- | 2021/02/21 18: | + | +-------------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | |
</ | </ | ||
**__MIT__ '' | **__MIT__ '' | ||
< | < | ||
- | 2021/02/21 18: | + | # /root/Install/scripts/dovecot_backup.sh |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-------------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | Start backup of the mailboxes [Sat, 02 Oct 2021 08:06:04 (+0200)] | |
- | 2021/02/21 18: | + | +-------------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18:47:21 INFO: | + | SCRIPT_NAME.................: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | OS_TYPE.....................: linux-gnu |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | COMPRESSION.................: gz |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | TMP_FOLDER..................: |
- | 2021/02/21 18: | + | DIR_BACKUP..................: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | MAIL_RECIPIENT..............: |
- | 2021/02/21 18: | + | MAIL_STATUS.................: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | FILE_USERLIST...............: |
- | 2021/02/21 18: | + | FILE_USERLIST_VALIDATE_EMAIL: |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if command ' |
- | 2021/02/21 18: | + | Check if command |
- | 2021/02/21 18: | + | Check if the script is NOT already runnig .................[ OK ] |
- | 2021/02/21 18: | + | Check if TMP_FOLDER exists ................................[ OK ] |
- | 2021/02/21 18: | + | Check if TMP_FOLDER owner is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | Check if TMP_FOLDER group is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | Check if DIR_BACKUP exists ................................[ OK ] |
- | 2021/02/21 18: | + | Check if DIR_BACKUP owner is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | Check if DIR_BACKUP group is vmail ........................[ OK ] |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Check if the variable FILE_USERLIST is set ................[ OK ] |
- | 2021/02/21 18: | + | Mailboxes to backup will be read from file. |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | - File: [/srv/ |
- | 2021/02/21 18: | + | - Check if FILE_USERLIST exists ...........................[ OK ] |
- | 2021/02/21 18: | + | - Check if FILE_USERLIST is readable ......................[ OK ] |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | Run backup dovecot_backup ..................................... | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Create temporary '/srv/backup/ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Set ownership of DIR_TEMP to vmail:vmail ..................[ OK ] |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Start backup process for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | Extract mailbox data for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | Synchronization done for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | Packaging to archive for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | Delete mailbox files for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | Delete mailbox files at: /srv/backup/ |
- | 2021/02/21 18: | + | Copying archive file for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | Move archive file for user to: /srv/backup ................[ OK ] |
- | 2021/02/21 18: | + | Delete archive files for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | Delete old archive files from: /srv/backup ................[ OK ] |
- | 2021/02/21 18: | + | Ended backup process for user: klaus@tachtler.net ... |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Start backup process for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | Extract mailbox data for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | Synchronization done for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | Packaging to archive for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | ... |
- | 2021/02/21 18: | + | Delete mailbox files for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | Delete mailbox files at: /srv/backup/ |
- | 2021/02/21 18: | + | Copying archive file for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | Move archive file for user to: /srv/backup ................[ OK ] |
- | 2021/02/21 18: | + | Delete archive files for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | Delete old archive files from: /srv/backup ................[ OK ] |
- | 2021/02/21 18: | + | Ended backup process for user: petra@tachtler.net ... |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Delete temporary '/srv/backup/ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | Set ownership of DIR_BACKUP to vmail:vmail ................[ OK ] |
- | 2021/02/21 18: | + | Set permission of DIR_BACKUP to drwx------ ................[ OK ] |
- | 2021/02/21 18: | + | Set file permissions in DIR_BACKUP to -rw------- ..........[ OK ] |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | | End backup dovecot_backup ..................................... | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
- | 2021/02/21 18: | + | |
- | 2021/02/21 18: | + | +-----------------------------------------------------------------+ |
+ | | Runtime statistics ............................................ | | ||
+ | +-----------------------------------------------------------------+ | ||
+ | |||
+ | - Number of determined users: | ||
+ | - ...Summary of failed users: | ||
+ | |||
+ | Runtime: 00:01:46 time elapsed. | ||
+ | |||
+ | +-------------------------------------------------------------------+ | ||
+ | | Finished creating the backups [Sat, 02 Oct 2021 08:07:50 (+0200)] | | ||
+ | +-------------------------------------------------------------------+ | ||
</ | </ | ||
Zeile 1135: | Zeile 1325: | ||
- Das Backup befindet sich unter **''/ | - Das Backup befindet sich unter **''/ | ||
- Der Benutzer lautet **'' | - Der Benutzer lautet **'' | ||
+ | ***.tar.gz-Komprimierungsmethode** | ||
+ | < | ||
+ | # tar -avzf / | ||
+ | </ | ||
+ | ***.tar.zst-Komprimierungsmethode** | ||
+ | < | ||
+ | # tar -avzf / | ||
+ | </ | ||
+ | |||
+ | :!: **HINWEIS** - Der Paramter **'' | ||
< | < | ||
- | # tar -xvzf / | + | -a, --auto-compress |
+ | use archive suffix to determine the compression program | ||
</ | </ | ||
tachtler/dovecot_backup_-_skript.txt · Zuletzt geändert: 2023/07/05 19:07 von klaus