Advertisement
Guest User

snapshot+systemupdate.sh

a guest
Dec 1st, 2019
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.25 KB | None | 0 0
  1. #!/bin/bash
  2. # Snapshot + System Update
  3. # ---------------------------
  4. # Snapshot - Rollback - Btrfs
  5. # ---------------------------
  6.  
  7. BTRFS=/usr/bin/btrfs
  8. CP=/usr/bin/cp
  9. ECHO=/usr/bin/echo
  10. GREP=/usr/bin/grep
  11. MOUNT=/usr/bin/mount
  12. MV=/usr/bin/mv
  13. PIKAUR=/usr/bin/pikaur
  14. PACMAN=/usr/bin/pacman
  15. REFLECTOR=/usr/bin/reflector
  16. SED=/usr/bin/sed
  17. SUDO=/usr/bin/sudo
  18. CHECKUPDATES=/usr/bin/checkupdates
  19.  
  20. # ---------------------------
  21. #      Snapshot System
  22. # ---------------------------
  23. if $CHECKUPDATES ; then
  24. # if true ; then
  25. bootstate=`$MOUNT | $GREP "on / type btrfs" | $GREP "subvol=/@snapshots/TESTING"`
  26. if [ -z "$bootstate" ]
  27.     then
  28.         $ECHO ""
  29.         $ECHO $bootstate
  30.         $ECHO ""
  31.         $ECHO "System ist nicht mit TESTING hochgefahren !"
  32.         $ECHO "ENDE !"
  33.         sleep 2
  34.         exit
  35.     else
  36.     # -------- make new OLDSTABLE --------
  37.         $SUDO $BTRFS subvolume delete /.snapshots/OLDSTABLE
  38.         $SUDO $MV /.snapshots/STABLE /.snapshots/OLDSTABLE
  39.         $SUDO $SED -i 's/STABLE/OLDSTABLE/g' /.snapshots/OLDSTABLE/etc/fstab
  40.         $SUDO $CP /boot/vmlinuz-linux-stable /boot/vmlinuz-linux-oldstable
  41.         $SUDO $CP /boot/initramfs-linux-stable.img /boot/initramfs-linux-oldstable.img
  42.         $SUDO $CP /boot/vmlinuz-linux-lts-stable /boot/vmlinuz-linux-lts-oldstable
  43.         $SUDO $CP /boot/initramfs-linux-lts-stable.img /boot/initramfs-linux-lts-oldstable.img
  44.        
  45.         # --------- make new STABLE ----------
  46.         $SUDO $BTRFS subvolume snapshot / /.snapshots/STABLE
  47.         $SUDO $SED -i 's/TESTING/STABLE/g' /.snapshots/STABLE/etc/fstab
  48.         $SUDO $CP /boot/vmlinuz-linux /boot/vmlinuz-linux-stable
  49.         $SUDO $CP /boot/initramfs-linux.img /boot/initramfs-linux-stable.img
  50.         $SUDO $CP /boot/vmlinuz-linux-lts /boot/vmlinuz-linux-lts-stable
  51.         $SUDO $CP /boot/initramfs-linux-lts.img /boot/initramfs-linux-lts-stable.img
  52.        
  53.         # ---------------------------
  54.         #      Update System
  55.         # ---------------------------
  56.         $SUDO $REFLECTOR --verbose -l 10 -p https --sort rate
  57.         $SUDO $REFLECTOR --verbose -l 10 -p https --sort rate --save /etc/pacman.d/mirrorlist
  58.         # $SUDO $PACMAN -Syu
  59.         $PIKAUR -Syu # aktualisiert AUR gleich mit :-)
  60.        
  61.         # ---------------------------
  62.         #    Balance Filesystem
  63.         # --------------------------
  64.         $SUDO $BTRFS balance start -dusage=5 /btrfs
  65. fi
  66. else
  67.     echo "Keine Updates vorhanden - ENDE !"
  68.     sleep 2
  69. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement