Die Variante von @ThiSchwa funktioniert und ist etwas eleganter als die “simple” Variante aus der Doku, die aber auch funktioniert ;-) https://docs.mailcow.email/backup_restore/b_n_r-backup/#cronjob
Ich nutze die simpele Variante:
sudo -i
mkdir /opt/backup
crontab -e
0 2 * * * cd /opt/mailcow-dockerized/; MAILCOW_BACKUP_LOCATION=/opt/backup /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup all --delete-days 7
Diese Zeile im crontab von Root erstellt ein vollständiges Backup um 02.00 Uhr in /opt/backup
.
Headcrasch Ich habe das so verstanden das man das Skript in das Verzeichnis etc/cron.daily/mailcow-backup kopiert mit chmod +x startbar macht und noch das Verzeichnis /opt/backup erstellt.
Das ist Variante 2 oder die etwas “komplexere” Variante aus der Doku:
sudo -i
mkdir /opt/backup
touch /etc/cron.daily/mailcow-backup
chmod +x /etc/cron.daily/mailcow-backup
nano /etc/cron.daily/mailcow-backup
Folgendes reinkopieren und gemäss deinen Wünschen anpassen:
#!/bin/sh
# Backup mailcow data
# https://mailcow.github.io/mailcow-dockerized-docs/backup_restore/b_n_r-backup/
set -e
OUT="$(mktemp)"
export MAILCOW_BACKUP_LOCATION="/opt/backup"
SCRIPT="/opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh"
PARAMETERS="backup all"
OPTIONS="--delete-days 30"
# run command
set +e
"${SCRIPT}" ${PARAMETERS} ${OPTIONS} 2>&1 > "$OUT"
RESULT=$?
if [ $RESULT -ne 0 ]
then
echo "${SCRIPT} ${PARAMETERS} ${OPTIONS} encounters an error:"
echo "RESULT=$RESULT"
echo "STDOUT / STDERR:"
cat "$OUT"
fi
Das Script läuft dann immer um Mitternacht.