You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.4 KiB
83 lines
2.4 KiB
#!/bin/bash |
|
# aos-npbackup-sync.sh |
|
# Backup AoS.Health instance ProxMox Dump Files to remote Host |
|
# |
|
# |
|
# sync backups to remote server |
|
STARTTIME="`date '+%d.%m.%y %H:%M'`" |
|
START=`date +%s` |
|
|
|
LOGFILE=/var/log/aos-npbackup-sync.log |
|
touch $LOGFILE |
|
|
|
# We copied an rsync binary to the remote site as it was not installed by default by NITC. |
|
EXTRAARGS='--rsync-path=~/bin/rsync' |
|
|
|
# See /etc/hosts file for actual IP address being used. |
|
REMOTEUSER=nphl-antimicrobial-resvm |
|
REMOTEHOST=np-backup.nitc |
|
|
|
# Use the near-line backups at /aos-backups because the remote server is only 500GB of space. |
|
# an /aos-backups is also limited to this same approximate sizing. |
|
SRCDIR=/aos-backups |
|
DESTDIR=/home/nphl-antimicrobial-resvm |
|
|
|
## --------- |
|
STARTTIME="`date '+%d.%m.%y %H:%M'`" |
|
START=`date +%s` |
|
THISLOGHEAD="______________________________________\n\ |
|
|\n\ |
|
| Script: $0\n\ |
|
| Hostname: `hostname`\n\ |
|
| Started: $STARTTIME\n" |
|
LOGCONTENT="`head -n 2000 $LOGFILE`" |
|
THISLOG="" |
|
SUMMARY="" |
|
|
|
|
|
backup () { |
|
local FSTARTTIME="`date '+%H:%M'`" |
|
local FSTART=`date +%s` |
|
printf "$THISLOGHEAD|\n\n\ |
|
---------------------------------------\n\ |
|
| Summary:\n\ |
|
---------------------------------------\n\ |
|
$SUMMARY\n\ |
|
`date '+%H:%M'`-now: $1 -> $2\n\n\ |
|
---------------------------------------\n\ |
|
| Details:\ |
|
\n---------------------------------------\n\ |
|
$THISLOG\n$LOGCONTENT" > $LOGFILE |
|
THISLOG="$THISLOG\n`date '+%d.%m.%y %H:%M'` | $1 \n->$2\n---------------------------------------\n`\ |
|
rsync -e ssh -av --delete $EXTRAARGS $1 $REMOTEUSER@$REMOTEHOST:$DESTDIR/$2 --stats | \ |
|
sed '0,/^$/d'`\nfinished: `date '+%d.%m.%y %H:%M'` \n---------------------------------------\n\n" |
|
printf "$THISLOGHEAD\n$THISLOG\n$LOGCONTENT" > $LOGFILE |
|
local FSECONDS="$((`date +%s`-$FSTART))" |
|
SUMMARY="$SUMMARY \n$FSTARTTIME-`date '+%H:%M'` (`date -d@$FSECONDS -u +%H:%M:%S`): $1 -> $2" |
|
} |
|
|
|
|
|
### THIS CALLS THE ACTUAL BACKUP FUNCTION |
|
backup $SRCDIR AoS.Health/ |
|
|
|
#Finish Script: Runtime-Information and Final-Summary: |
|
SECONDS="$((`date +%s`-$START))" |
|
printf "$THISLOGHEAD\ |
|
| Finished: `date '+%d.%m.%y %H:%M'`\n\ |
|
| Runtime: `date -d@$SECONDS -u +%H:%M:%S`\n|\n\n\ |
|
---------------------------------------\n\ |
|
| Summary:\n\ |
|
---------------------------------------\n\ |
|
$SUMMARY\n\n\ |
|
---------------------------------------\n\ |
|
| Details:\n\ |
|
---------------------------------------\n\ |
|
$THISLOG\n\ |
|
|______________________________________\n\ |
|
$LOGCONTENT" > $LOGFILE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|