Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Snapshot + System Update
- # ---------------------------
- # Snapshot - Rollback - Btrfs
- # ---------------------------
- BTRFS=/usr/bin/btrfs
- CP=/usr/bin/cp
- ECHO=/usr/bin/echo
- GREP=/usr/bin/grep
- MOUNT=/usr/bin/mount
- MV=/usr/bin/mv
- PIKAUR=/usr/bin/pikaur
- PACMAN=/usr/bin/pacman
- REFLECTOR=/usr/bin/reflector
- SED=/usr/bin/sed
- SUDO=/usr/bin/sudo
- CHECKUPDATES=/usr/bin/checkupdates
- # ---------------------------
- # Snapshot System
- # ---------------------------
- if $CHECKUPDATES >/dev/nul 2>/dev/null ; then
- bootstate=`$MOUNT | $GREP "on / type btrfs" | $GREP "subvol=/@snapshots/TESTING"`
- if [ -z $"{bootstate}" ]
- then
- $ECHO ""
- $ECHO $bootstate
- $ECHO ""
- $ECHO "System ist nicht mit TESTING hochgefahren !"
- $ECHO "ENDE !"
- exit
- else
- # -------- make new OLDSTABLE --------
- $SUDO $BTRFS subvolume delete /.snapshots/OLDSTABLE
- $SUDO $MV /.snapshots/STABLE /.snapshots/OLDSTABLE
- $SUDO $SED -i 's/STABLE/OLDSTABLE/g' /.snapshots/OLDSTABLE/etc/fstab
- $SUDO $CP /boot/vmlinuz-linux-stable /boot/vmlinuz-linux-oldstable
- $SUDO $CP /boot/initramfs-linux-stable.img /boot/initramfs-linux-oldstable.img
- # --------- make new STABLE ----------
- $SUDO $BTRFS subvolume snapshot / /.snapshots/STABLE
- $SUDO $SED -i 's/TESTING/STABLE/g' /.snapshots/STABLE/etc/fstab
- $SUDO $CP /boot/vmlinuz-linux /boot/vmlinuz-linux-stable
- $SUDO $CP /boot/initramfs-linux.img /boot/initramfs-linux-stable.img
- # ---------------------------
- # Update System
- # ---------------------------
- $SUDO $REFLECTOR --verbose -l 10 -p https --sort rate --save /etc/pacman.d/mirrorlist
- $SUDO $PACMAN -Syu
- # $PIKAUR -Syu # aktualisiert AUR gleich mit :-)
- # ---------------------------
- # Balance Filesystem
- # --------------------------
- $SUDO $BTRFS balance start -dusage=5 /btrfs
- fi
- else
- echo "Keine Updates vorhanden - ENDE !"
- sleep 2
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement