Улучшены скрипты бэкапов

This commit is contained in:
retrilzzy committed 2025-10-20 20:33:52 +05:00
1 parent 5ed4ac9f87
commit c594dd7d10
3 files changed
+36 -21

No files matched your search

+11 -6
View File
@@ -1,9 +1,10 @@
#!/bin/env bash
#!/bin/bash
set -euo pipefail
DOTFILES_DIR="$HOME/dotfiles"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_DIR=~/.config-backups/"$DATE"
BACKUP_DIR="$HOME/.config-backups/$DATE"
backup_configs() {
echo "📦 Создание резервной копии текущих конфигураций..."
@@ -13,12 +14,16 @@ backup_configs() {
for dir in "$DOTFILES_DIR"/Configs/.config/*; do
name=$(basename "$dir")
if [ -d ~/.config/"$name" ]; then
cp -r "$HOME"/.config/"$name" "$BACKUP_DIR/.config/"
if [[ -d "$HOME/.config/$name" ]]; then
cp -r "$HOME/.config/$name" "$BACKUP_DIR/.config/"
fi
done
cp ~/{.zshrc,.p10k.zsh,.nanorc} "$BACKUP_DIR/" 2>/dev/null || true
for file in .zshrc .p10k.zsh .nanorc; do
if [[ -f "$HOME/$file" ]]; then
cp "$HOME/$file" "$BACKUP_DIR/"
fi
done
echo "✅ Бэкап сохранён в $BACKUP_DIR"
}
+10 -7
View File
@@ -1,23 +1,26 @@
#!/bin/env bash
#!/bin/bash
set -euo pipefail
DATE=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_DIR=~/.config-backups/"$DATE"
BACKUP_DIR="$HOME/.config-backups/$DATE"
backup_configs() {
echo "📦 Создание полной резервной копии ~/.config..."
echo "📦 Создание полной резервной копии: $HOME/.config → $BACKUP_DIR"
mkdir -p "$BACKUP_DIR"
if command -v rsync >/dev/null 2>&1; then
rsync -a ~/.config/ "$BACKUP_DIR/.config/"
rsync -a --delete "$HOME/.config/" "$BACKUP_DIR/.config/"
else
cp -a ~/.config "$BACKUP_DIR/"
cp -a "$HOME/.config" "$BACKUP_DIR"/
fi
cp ~/{.zshrc,.p10k.zsh,.nanorc} "$BACKUP_DIR/" 2>/dev/null || true
for file in .zshrc .p10k.zsh .nanorc; do
[ -f "$HOME/$file" ] && cp "$HOME/$file" "$BACKUP_DIR/"
done
echo "✅ Бэкап сохранён в $BACKUP_DIR"
}
backup_configs
+15 -8
View File
@@ -1,24 +1,31 @@
#!/bin/env bash
#!/bin/bash
set -euo pipefail
BACKUP_DIR="$HOME/.config-backups"
if [ ! -d "$BACKUP_DIR" ]; then
if [[ ! -d "$BACKUP_DIR" ]]; then
echo "❌ Резервные копии не найдены: $BACKUP_DIR"
exit 1
fi
echo "📦 Доступные резервные копии:"
ls "$BACKUP_DIR"
ls -1 "$BACKUP_DIR" | sort
read -rp "Введите имя папки для восстановления (YYYY-MM-DD_HH-MM-SS): " folder
if [ ! -d "$BACKUP_DIR/$folder" ]; then
echo "❌ Директория $folder не найдена в резервных копиях"
TARGET="$BACKUP_DIR/$folder"
if [[ ! -d "$TARGET" ]]; then
echo "❌ Директория '$folder' не найдена в резервных копиях"
exit 1
fi
echo "♻️ Восстановление конфигураций..."
cp -r "$BACKUP_DIR/$folder/.config" ~/
cp "$BACKUP_DIR/$folder"/.{zshrc,p10k.zsh,nanorc} ~/ 2>/dev/null || true
echo "✅ Конфигурации восстановлены!"
mkdir -p "$HOME/.config"
cp -r "$TARGET/.config/." "$HOME/.config/" 2>/dev/null || true
cp "$TARGET"/.{zshrc,p10k.zsh,nanorc} "$HOME"/ 2>/dev/null || true
echo "✅ Конфигурации успешно восстановлены из $TARGET"