summaryrefslogtreecommitdiff
path: root/ar/.local/bin/rbackup
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-02-17 02:48:36 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-02-17 02:48:36 +0900
commit8dad6bd19dddc9115e18c15f08b062fbed992939 (patch)
tree06ea72879c38800b2eab82582279b9918ace1268 /ar/.local/bin/rbackup
parente40abb09643c425071258b73dc41c39a42d257ca (diff)
modified bin/gitopenbranch, modified bin/rbackup, modified bin/shortcuts
Diffstat (limited to 'ar/.local/bin/rbackup')
-rwxr-xr-xar/.local/bin/rbackup52
1 files changed, 42 insertions, 10 deletions
diff --git a/ar/.local/bin/rbackup b/ar/.local/bin/rbackup
index 70c15d9..7ae89e5 100755
--- a/ar/.local/bin/rbackup
+++ b/ar/.local/bin/rbackup
@@ -90,7 +90,7 @@ sync_server() {
ssh "$THESIAH_SERVER" "mkdir -p /root/.config/bash /root/.config/shell /root/.config/vim /root/.local/bin /root/.local/share /root/.local/state /var/www/thesiah"
# Sync operations with explicit error checking
- cd "$THESIAH_WWW" || exit 1
+ cd "$THESIAH_WWW" || return 1
[ -d "$thesiah_path" ] || hugo --cleanDestinationDir
rsync -vrazPlu --delete "$thesiah_path/" "$THESIAH_SERVER:/var/www/thesiah/" >/dev/null 2>&1 && rm -rf "$thesiah_path"
rsync -vrazPlu --delete "$vim_path/vimrc" "$THESIAH_SERVER:/root/.config/vim/" >/dev/null 2>&1
@@ -121,10 +121,10 @@ sync_server() {
}
sync_nextcloud() {
- base="$(basename $backup_path)"
- parent="$(dirname $backup_path)"
+ base="$(basename "$backup_path")"
+ parent="$(dirname "$backup_path")"
tmpdir="$(mktemp -d)"
- cd "$tmpdir" || exit
+ cd "$tmpdir" || return 1
tar -C "$parent" -zcf "$base".tar.gz "$base" >/dev/null 2>&1
rsync -vrazPlu --delete "$tmpdir/$base".tar.gz "$THESIAH_SERVER:/var/www/nextcloud/data/si@thesiah.xyz/files/backup/" >/dev/null 2>&1
ssh "$THESIAH_SERVER" "chown -R www-data:www-data /var/www/nextcloud/data/si@thesiah.xyz/files/backup" >/dev/null 2>&1
@@ -178,10 +178,42 @@ echo "Backup starts to $backup_path..."
process_options "$@"
# Main script logic
-#mount_luks && echo "Mount backup drive... " && echo "Success to mount luks drive!" || error "Failed to mount $backup_path"
-[ -d "$backup_path" ] || sudo mkdir -p "$backup_path"
-echo "Sync home files..." && sync_files && echo "Success to sync files!" || error "Failed back up files"
-echo "Sync root files..." && sync_root && echo "Success to sync root!" || error "Failed back up root"
-echo "Sync server files..." && sync_server && echo "Success to sync server!" || error "Failed back up server"
-#echo "Sync files to nextcloud..." && sync_nextcloud && echo "Success to sync nextcloud!" || error "Failed back up nextcloud"
+# Check if backup drive is available
+backup_available=false
+if mount | grep -q " /mnt/second "; then
+ backup_available=true
+ echo "Backup drive is mounted"
+else
+ echo "Warning: /mnt/second is not mounted"
+ echo "Attempting to mount backup drive..."
+ if mount_luks 2>/dev/null && mountpoint -q /mnt/second 2>/dev/null; then
+ backup_available=true
+ echo "Success to mount luks drive!"
+ else
+ echo "Backup drive not available. Skipping file backup..."
+ fi
+fi
+
+# Sync home files only if backup drive is available
+if [ "$backup_available" = true ]; then
+ [ -d "$backup_path" ] || sudo mkdir -p "$backup_path"
+ echo "Sync home files..." && sync_files && echo "Success to sync files!" || echo "Warning: Failed to sync some files"
+else
+ echo "Skipping home files sync (no backup drive)"
+fi
+
+echo "Sync root files..." && sync_root && echo "Success to sync root!" || echo "Warning: Failed to sync root"
+
+# Sync server files only if server is configured
+if [ -n "$THESIAH_SERVER" ]; then
+ echo "Sync server files..." && sync_server && echo "Success to sync server!" || echo "Warning: Failed to sync server"
+else
+ echo "Skipping server sync (THESIAH_SERVER not set)"
+fi
+
+# Sync to nextcloud only if backup drive is available and server is configured
+if [ "$backup_available" = true ] && [ -n "$THESIAH_SERVER" ]; then
+ echo "Sync files to nextcloud..." && sync_nextcloud && echo "Success to sync nextcloud!" || echo "Warning: Failed to sync nextcloud"
+fi
+
echo "Done!"