Autor Thema: Script für ein Update incl snapshot (btrfs)  (Gelesen 199 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Amber

  • Forum Gott
  • ****
  • Beiträge: 271
  • Dankeschön: 23 mal
  • CPU: i7
  • GPU: HD4000 / GeForce670m
  • Kernel: 4.9. LTS & 4er
  • DE: Plasma 5
  • GPU Treiber: nvidia / intel
Script für ein Update incl snapshot (btrfs)
« am: 15. Mai 2017, 10:53:34 »
Moin,

hier ein script für updates des Systemes incl vorherigen snapshot. Dieser script ist auf das btrfs Dateisystem ausgelegt, kann aber mit rsync für ext angepasst werden. Pacman-Cache und Mirrors werden optimiert. Es wird erst abgefragt ob ein Update vorhanden ist und dann erst gestartet oder exit.
Weiter wird der kernel / initramfs kopiert und ein stable angesetzt, so kann man im Notfall auch dieses snapshot booten um das Original-System zu reparieren falls beim update etwas schief läuft.

Das ursprüngliche Script kommt von unicks.eu und wurde von mir etwas verändert. Es läuft auf ein archlinux und sollte eigendlich auch auf Manjaro laufen.

#!/bin/bash

# System Update incl. Snapshot
# ---------------------------

[ `whoami` != "root" ] && printf "\n%s\n\n" "Script muß als Root ausführen werden" && exit 0

up=$(checkupdates);

if [ -z "$up" ]; then
echo "Kein Update vorhanden"
exit 1
  else
echo $(date +%d-%m-%y/%H:%M:%S) $up >> /var/log/update/update.log  ##Logdatei nicht unbedingt nötig
unset up
fi

BTRFS=/usr/bin/btrfs
PACMAN=/usr/bin/pacman
MV=/usr/bin/mv
CP=/usr/bin/cp
REFLECTOR=/usr/bin/reflector
cd /  ## Wichtig damit die Pfade korrekt sind, gab bei mir ein Problemchen

# ----- Snapshot System -----
# ---------------------------

$BTRFS subvolume delete /.snapshots/OLDSTABLE
$MV /.snapshots/STABLE /.snapshots/OLDSTABLE
$BTRFS subvolume snapshot / /.snapshots/STABLE
$CP /.snapshots/fstab.bak /.snapshots/STABLE/etc/fstab
$CP /boot/vmlinuz-linux /boot/vmlinuz-linux-stable
$CP /boot/initramfs-linux.img /boot/initramfs-linux-stable.img

# ----- Update System -------
# ---------------------------
 
$REFLECTOR --country 'Germany' -l 25 -p https --sort rate --save /etc/pacman.d/mirrorlist
$PACMAN -Syyu
$PACMAN -Sc --noconfirm

#    Balance Filesystem
# --------------------------
$BTRFS balance start -dusage=55 /
exit 2




Wer kein btrfs sein eigen nennt kann dieses script nutzen -> http://www.manjaro-forum.de/index.php/topic,954.0.html

peace
« Letzte Änderung: 22. Mai 2017, 21:42:06 von Amber »
Mit freundlichen Grüßen
            Amber
 
Folgende Mitglieder bedankten sich: Prinz