arch-system/scripts/backup.sh
2026-05-30 22:21:19 +02:00

50 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)"
echo "[*] Export des paquets"
pacman -Qqe > "$REPO_DIR/pkglist/pacman.txt"
pacman -Qqm > "$REPO_DIR/pkglist/aur.txt"
echo "[*] Export des services systemd"
systemctl list-unit-files --state=enabled \
> "$REPO_DIR/systemd/enabled-system.txt"
systemctl --user list-unit-files --state=enabled \
> "$REPO_DIR/systemd/enabled-user.txt"
echo "[*] Sauvegarde des fichiers système"
echo "[*] Documentation stockage"
lsblk -f > "$REPO_DIR/docs/lsblk.txt"
findmnt > "$REPO_DIR/docs/findmnt.txt"
sudo btrfs subvolume list / > "$REPO_DIR/docs/btrfs-subvolumes.txt"
sudo chown -R "$USER:$USER" "$REPO_DIR/docs"
sudo rsync -a \
/etc/pacman.conf \
/etc/makepkg.conf \
/etc/mkinitcpio.conf \
/etc/fstab \
/etc/nftables.conf \
"$REPO_DIR/rootfs/etc/"
sudo rsync -a \
/etc/snapper/configs/root \
"$REPO_DIR/rootfs/etc/snapper/configs/"
sudo rsync -a \
/etc/systemd/system/battery-threshold.service \
"$REPO_DIR/rootfs/etc/systemd/system/"
sudo rsync -a \
/boot/limine.conf \
"$REPO_DIR/rootfs/boot/"
sudo chown -R "$USER:$USER" "$REPO_DIR"
echo "[+] Sauvegarde terminée"