add email export and cleanup
This commit is contained in:
parent
f268a2b6b5
commit
6944db98d4
18
.vscode/numbered-bookmarks.json
vendored
18
.vscode/numbered-bookmarks.json
vendored
@ -1,3 +1,19 @@
|
||||
{
|
||||
"bookmarks": []
|
||||
"bookmarks": [
|
||||
{
|
||||
"fsPath": "$ROOTPATH$/pilerbackup.sh",
|
||||
"bookmarks": [
|
||||
-1,
|
||||
332,
|
||||
65,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
-1,
|
||||
576
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -63,6 +63,18 @@ cleanup () {
|
||||
"$(stamp)" >> "$logFile"
|
||||
fi
|
||||
fi
|
||||
# remove EML temporary directory
|
||||
if ! rm -f "$exportDir" 2>>"$logFile"; then
|
||||
printf "${warn}[%s] -- [WARNING] Could not remove EML export tmp dir:" \
|
||||
"$(stamp)" >> "$logFile"
|
||||
printf "\n%s\n" "$exportDir" >> "$logFile"
|
||||
printf "please remove this directory manually! --${norm}\n" \
|
||||
>> "$logFile"
|
||||
warnCount=$((warnCount+1))
|
||||
else
|
||||
printf "${cyan}[%s] -- [INFO] EML temp directory removed --${norm}\n" \
|
||||
"$(stamp)" >> "$logFile"
|
||||
fi
|
||||
}
|
||||
|
||||
# call cleanup and then exit with error report
|
||||
@ -311,43 +323,34 @@ printf "${cyan}[%s] -- [INFO] ${yellow}%s${cyan} imported --${norm}\n" \
|
||||
"$(stamp)" "$configDetails" >> "$logFile"
|
||||
|
||||
|
||||
## create tmp directory
|
||||
printf "${cyan}[%s] -- [INFO] Dumping SQL databases --${norm}\n" \
|
||||
## create tmp directory and change to it for export operations
|
||||
printf "${cyan}[%s] -- [INFO] Exporting EML files from piler --${norm}\n" \
|
||||
"$(stamp)" >> "$logFile"
|
||||
# create temporary directory to dump files before borg backup
|
||||
if ! sqlDumpDir=$( mktemp -d 2>>"$logFile" ); then
|
||||
exitError 111 "Could not create temporary directory to dump SQL files"
|
||||
if ! exportDir=$( mktemp -d 2>>"$logFile" ); then
|
||||
exitError 111 "Could not create temporary directory for exported EML files"
|
||||
fi
|
||||
# set cleanup flag
|
||||
sqlCopied=1
|
||||
printf "${cyan}[%s] -- [INFO] SQL dump files will be temporarily stored in:" \
|
||||
if ! cd "$exportDir"; then
|
||||
exitError 112 "Unable to change to temporary export directory"
|
||||
fi
|
||||
printf "${cyan}[%s] -- [INFO] EML files will be temporarily stored in:" \
|
||||
"$(stamp)" >> "$logFile"
|
||||
printf "\n${yellow}%s/${cyan} --${norm}\n" "$sqlDumpDir" >> "$logFile"
|
||||
# create unique names for database dump files
|
||||
sqlDump_ccnet="backup-$(date +%Y%m%d_%H%M%S)_${ccnetDB_name}.sql"
|
||||
sqlDump_seafile="backup-$(date +%Y%m%d_%H%M%S)_${seafileDB_name}.sql"
|
||||
sqlDump_seahub="backup-$(date +%Y%m%d_%H%M%S)_${seahubDB_name}.sql"
|
||||
printf "\n${yellow}%s/${cyan} --${norm}\n" "$exportDir" >> "$logFile"
|
||||
|
||||
## dump databases
|
||||
# dump CCNET-DB
|
||||
if ! mysqldump -h"${sqlServer}" -u"${sqlUser}" -p"${sqlPass}" \
|
||||
--opt "${ccnetDB_name}" > "${sqlDumpDir}/${sqlDump_ccnet}" \
|
||||
2>> "$logFile"; then
|
||||
exitError 115 "Could not dump ${ccnetDB_name} database"
|
||||
## export EML from piler
|
||||
if [ "$exportAll" -eq 1 ]; then
|
||||
if ! pilerexport -A 2>>"$logFile"; then
|
||||
exitError 115 "There was a problem while exporting EML from piler"
|
||||
fi
|
||||
# dump SEAFILE-DB
|
||||
if ! mysqldump -h"${sqlServer}" -u"${sqlUser}" -p"${sqlPass}" \
|
||||
--opt "${seafileDB_name}" > "${sqlDumpDir}/${sqlDump_seafile}" \
|
||||
2>> "$logFile"; then
|
||||
exitError 116 "Could not dump ${seafileDB_name} database"
|
||||
fi
|
||||
# dump CCNET-DB
|
||||
if ! mysqldump -h"${sqlServer}" -u"${sqlUser}" -p"${sqlPass}" \
|
||||
--opt "${seahubDB_name}" > "${sqlDumpDir}/${sqlDump_seahub}" 2>> "$logFile"; then
|
||||
exitError 117 "Could not dump ${seahubDB_name} database"
|
||||
fi
|
||||
printf "${ok}[%s] -- [SUCCESS] SQL databases dumped successfully --${norm}\n" \
|
||||
printf "${ok}[%s] -- [SUCCESS] Exported EML files from piler --${norm}\n" \
|
||||
"$(stamp)" >> "$logFile"
|
||||
else
|
||||
if ! pilerexport -a $exportStart -b $exportEnd 2>>"$logFile"; then
|
||||
exitError 115 "There was a problem while exporting EML from piler"
|
||||
fi
|
||||
printf "${ok}[%s] -- [SUCCESS] Exported EML files from piler --${norm}\n" \
|
||||
"$(stamp)" >> "$logFile"
|
||||
fi
|
||||
|
||||
|
||||
### pre-backup tasks completed -- move to borg tasks
|
||||
@ -577,7 +580,8 @@ exit 0
|
||||
# 3: borg not installed
|
||||
# 99: TERM signal trapped
|
||||
# 111: could not create tmp dir for EML dump from piler-export
|
||||
# 112: problem during piler-export operation
|
||||
# 112: could not change to tmp dir to start export operation
|
||||
# 115: problem during piler-export operation
|
||||
# 130: null configuration variable in details file
|
||||
# 131: invalid configuration variable in details file
|
||||
# 138: borg exited with a critical error
|
||||
|
Loading…
Reference in New Issue
Block a user