Скрипты для восстановления и создания бэкапов

This commit is contained in:
retrilzzy committed 2025-05-23 00:23:49 +05:00
1 parent 4fe4086271
commit d594c6e944
5 files changed
+72 -120

No files matched your search

+3 -1
View File
@@ -54,6 +54,8 @@
"waypaper",
"wlogout",
"wpctl",
"XCURSOR"
"XCURSOR",
"конфигов",
"бэкапов"
]
}
+23
View File
@@ -0,0 +1,23 @@
#!/bin/env bash
backup_configs() {
echo "📦 Создание резервной копии текущих конфигураций..."
echo "ℹ️ Копируются только те, которые затрагиваются этим репозиторием."
DATE=$(date +%Y-%m-%d_%H:%M:%S)
BACKUP_DIR=~/.config-backups/"$DATE"
mkdir -p "$BACKUP_DIR"
for dir in ~/dotfiles/Configs/.config/*; do
name=$(basename "$dir")
if [ -d ~/.config/"$name" ]; then
cp -r ~/.config/"$name" "$BACKUP_DIR/.config/"
fi
done
cp ~/{.zshrc,.p10k.zsh,.nanorc} "$BACKUP_DIR/" 2>/dev/null || true
echo "✅ Бэкап сохранён в $BACKUP_DIR"
}
backup_configs
+22
View File
@@ -0,0 +1,22 @@
#!/bin/env bash
backup_configs() {
echo "📦 Создание полной резервной копии ~/.config..."
DATE=$(date +%Y-%m-%d_%H:%M:%S)
BACKUP_DIR=~/.config-backups/"$DATE"
mkdir -p "$BACKUP_DIR"
if command -v rsync >/dev/null 2>&1; then
rsync -a ~/.config/ "$BACKUP_DIR/.config/"
else
cp -a ~/.config "$BACKUP_DIR/"
fi
cp ~/{.zshrc,.p10k.zsh,.nanorc} "$BACKUP_DIR/" 2>/dev/null || true
echo "✅ Бэкап сохранён в $BACKUP_DIR"
}
backup_configs
-119
View File
@@ -1,119 +0,0 @@
#!/bin/bash
set -e
cd ~
install() {
read -r -p "❔ Установить $1? (y/N): " choice
case "$choice" in
y|Y|yes|Yes|YES ) eval "$2" ;;
* ) echo "🛫 Пропущено: $1" ;;
esac
}
echo "📥️ Обновление репозиториев и системы..."
sudo pacman -Syu
echo "⚠️ Учтите, что отсутствие некоторых пакетов приведет к некорректной работе системы!"
install "Git, Curl (жизненно необходимые пакеты)" \
"sudo pacman -S --noconfirm git curl"
install "Yay (AUR помощник) [Без Yay вы не сможете установить часть пакетов!]" \
"sudo pacman -S --needed base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si"
install "Network Manager (сетевые инструменты)" \
"sudo pacman -S --noconfirm network-manager network-manager-applet"
install "Bluez, Blueman (bluetooth инструменты)" \
"sudo pacman -S --noconfirm bluez bluez-tools blueman"
install "Xdg-utils, Xdg-desktop-portal (интеграция приложений с рабочим столом)" \
"sudo pacman -S --noconfirm xdg-utils xdg-desktop-portal-hyprland xdg-desktop-portal-gtk xdg-desktop-portal-wlr xdg-desktop-portal"
install "Brightnessctl (управления яркостью)" \
"sudo pacman -S --noconfirm brightnessctl"
install "playerctl (управление медиа плеером)" \
"sudo pacman -S --noconfirm playerctl"
install "Rose Pine (тема курсора)" \
"yay -S --noconfirm rose-pine-cursor rose-pine-hyprcursor"
install "Papirus (иконки)" \
"sudo pacman -S --noconfirm papirus-icon-theme"
install "Grim, Hyprshot (cкриншоты)" \
"sudo pacman -S --noconfirm grim && yay -S --noconfirm hyprshot"
install "wf-recorder (запись экрана)" \
"sudo pacman -S --noconfirm wf-recorder"
install "Wlogout (меню выключения)" \
"yay -S --noconfirm wlogout"
install "Waybar (wayland бар)" \
"sudo pacman -S --noconfirm waybar"
install "Rofi (меню запуска + меню буфера обмена)" \
"sudo pacman -S --noconfirm rofi"
install "Cliphist (буфер обмена)" \
"sudo pacman -S --noconfirm wl-clipboard cliphist"
install "Kitty (эмулятор терминала)" \
"sudo pacman -S --noconfirm kitty"
install "Zsh + Oh My Zsh (оболочка + менеджер плагинов)" \
"sudo pacman -S --noconfirm zsh \
&& sh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\""
install "Powerlevel10k (тема для Zsh)" \
"git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
install "Плагины для Zsh" \
"git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && \
git clone https://github.com/zsh-users/zsh-autosuggestions \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions"
install "Nwg-look (настройка GTK)" "sudo pacman -S --noconfirm nwg-look"
install "Swaync (уведомления похожие на GNOME)" "sudo pacman -S --noconfirm swaync"
install "Waypaper (интерфейс для управления обоями)" "yay -S --noconfirm waypaper"
install "Swww (бэкенд для статичных обоев)" "sudo pacman -S --noconfirm swww"
install "Mpvpaper (бэкенд для видео обоев)" "sudo pacman -S --noconfirm mpvpaper"
install "Emote (выбор эмодзи)" "yay -S --noconfirm emote"
install "Flameshot (мощная утилита для скриншотов)" "sudo pacman -S --noconfirm flameshot"
install "Fastfetch (похвастаться линуксом)" "sudo pacman -S --noconfirm fastfetch"
echo "✅ Установка завершена!"
+24
View File
@@ -0,0 +1,24 @@
#!/bin/env bash
BACKUP_DIR="$HOME/.config-backups"
if [ ! -d "$BACKUP_DIR" ]; then
echo "❌ Резервные копии не найдены: $BACKUP_DIR"
exit 1
fi
echo "📦 Доступные резервные копии:"
ls "$BACKUP_DIR"
read -rp "Введите имя папки для восстановления (YYYY-MM-DD_HH:MM:SS): " folder
if [ ! -d "$BACKUP_DIR/$folder" ]; 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 "✅ Конфигурации восстановлены!"