]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Adding remote syncing
authorFrank Brehm <frank@brehm-online.com>
Tue, 20 Apr 2021 06:34:51 +0000 (08:34 +0200)
committerFrank Brehm <frank@brehm-online.com>
Tue, 20 Apr 2021 06:34:51 +0000 (08:34 +0200)
bin/manual-backup

index 6789224c9a5138fcc6b0893923208a0f36acb497..3283ae34fd714136423dd6ce0a25417f37303e22 100755 (executable)
@@ -223,11 +223,15 @@ do_dir_backup() {
     cd /
     dir_backup "etc" "etc"
     dir_backup "root" "root"
+    dir_backup "var/lib" "var-lib"
     dir_backup "var/log" "var-log"
     dir_backup "var/spool/cron" "var-spool-cron"
     if [[ -d "var/vmail" ]] ; then
         dir_backup "var/vmail" "var-vmail"
     fi
+    if [[ -d "var/www" ]] ; then
+        dir_backup "var/www" "var-www"
+    fi
 
     for odir in opt/* ; do
         odir_base=$( basename "${odir}" )
@@ -237,7 +241,10 @@ do_dir_backup() {
         if [[ ! -d "${odir}" ]] ; then
             continue
         fi
-        dir_backup "${odir}" "opt.${odir_base}"
+        if [[ -h "${odir}" ]] ; then
+            continue
+        fi
+        dir_backup "${odir}" "opt-${odir_base}"
     done
 
     for odir in home/* ; do
@@ -251,7 +258,7 @@ do_dir_backup() {
         if [[ ! -d "${odir}" ]] ; then
             continue
         fi
-        dir_backup "${odir}" "home.${odir_base}"
+        dir_backup "${odir}" "home-${odir_base}"
     done
 
 }
@@ -366,6 +373,31 @@ clean_old_backups() {
 
 }
 
+#------------------------------------------------------------------------------
+sync_to_remote() {
+
+    local rhost=
+    local cmd=
+
+    for rhost in "${REMOTE_HOSTS[@]}" ; do
+
+        info "Syncing backup to '${GREEN}${rhost}${NORMAL}:${CYAN}${BACKUP_HOSTDIR}${NORMAL}' ..."
+        cmd="rsync --archive --hard-links --delete --stats"
+        if [[ "${VERBOSE}" == "y" ]] ; then
+            cmd+=" --verbose"
+        fi
+        cmd+=" \"${BACKUP_HOSTDIR}\" \"${rhost}:${BACKUP_PARENTDIR}\""
+        if [[ "${SIMULATE}" == "y" ]] ; then
+            info "Executing: ${cmd}"
+            continue
+        fi
+        debug "Executing: ${cmd}"
+        eval ${cmd}
+
+    done
+
+}
+
 #------------------------------------------------------------------------------
 main() {
 
@@ -377,6 +409,7 @@ main() {
     do_mysql_backup
     create_checksums
     clean_old_backups
+    sync_to_remote
 
     info "Finished."
 }