Улучшены скрипты бэкапов
This commit is contained in:
1 parent
5ed4ac9f87
commit
c594dd7d10
3 files changed
+36
-21
No files matched your search
+11
-6
@@ -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
@@ -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
@@ -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"
|
||||
Reference in new issue
Block a user