feat: add cfg_load to root
This commit is contained in:
parent
22e6573f27
commit
480c18d95d
35
cfg_load.sh
Executable file
35
cfg_load.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
TARGET="$HOME/.saved_cfg"
|
||||
FOLDERS_FILE="$TARGET/folders"
|
||||
|
||||
if [[ ! -f "$FOLDERS_FILE" ]]; then
|
||||
echo "Error: $FOLDERS_FILE not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||
# Trim whitespace
|
||||
folder="$(echo "$line" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')"
|
||||
|
||||
# Skip empty lines and comments
|
||||
[[ -z "$folder" || "$folder" =~ ^# ]] && continue
|
||||
|
||||
SRC_PATH="$TARGET/$folder"
|
||||
DEST_PATH="$HOME/$folder"
|
||||
|
||||
if [[ -d "$SRC_PATH" ]]; then
|
||||
echo "Restoring $SRC_PATH -> $DEST_PATH"
|
||||
mkdir -p "$DEST_PATH"
|
||||
|
||||
rsync -av --delete --backup --backup-dir="$HOME/.cfg_restore_backup_$(date +%F_%T)" \
|
||||
--exclude='.git/' \
|
||||
"$SRC_PATH/" "$DEST_PATH/"
|
||||
else
|
||||
echo "Skipping $SRC_PATH (not found)"
|
||||
fi
|
||||
done < "$FOLDERS_FILE"
|
||||
|
||||
echo "Restore complete."
|
||||
Loading…
x
Reference in New Issue
Block a user