From 8bd37c430a878f8277e435aef7192bade0e667eb Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 Jun 2012 21:39:13 +0200 Subject: [PATCH] add first working PXE cloning scripts --- tc_clone.sh | 41 ++++++++++++++++++++++++++++++++ tc_clone_update_pxe.sh | 48 ++++++++++++++++++++++++++++++++++++++ tc_clone_update_pxe_s10.sh | 29 +++++++++++++++++++++++ tc_mount_master.sh | 14 +++++++++++ tc_umount_master.sh | 13 +++++++++++ 5 files changed, 145 insertions(+) create mode 100755 tc_clone.sh create mode 100755 tc_clone_update_pxe.sh create mode 100755 tc_clone_update_pxe_s10.sh create mode 100755 tc_mount_master.sh create mode 100755 tc_umount_master.sh diff --git a/tc_clone.sh b/tc_clone.sh new file mode 100755 index 0000000..d209352 --- /dev/null +++ b/tc_clone.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +set -e + +CLONE=/mnt/custom/root + +sfdisk -d /dev/sda | sfdisk /dev/sdb +ls /dev/sd* + +mkfs.ext4 /dev/sdb1 +mkfs.ext4 /dev/sdb2 +mkfs.ext4 /dev/sdb5 +mkswap /dev/sdb6 + +mount /dev/sdb1 $CLONE +df + +rsync -a --one-file-system / $CLONE/ + +mount /dev/sdb2 $CLONE/home +mount /dev/sdb5 $CLONE/var +df + +rsync -a /home/ $CLONE/home/ +rsync -a /var/ $CLONE/var/ + +mount -t proc none $CLONE/proc +mount -o bind /dev $CLONE/dev +mount -o bind /sys $CLONE/sys + +chroot $CLONE + +umount $CLONE/sys +umount $CLONE/proc +umount $CLONE/dev +umount $CLONE/var +umount $CLONE/home +umount $CLONE + +echo "OK, I'm cloned!" + diff --git a/tc_clone_update_pxe.sh b/tc_clone_update_pxe.sh new file mode 100755 index 0000000..b1494bf --- /dev/null +++ b/tc_clone_update_pxe.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +set -e + +MASTER=192.168.0.64 +MASTERPATH=/mnt/custom +NAME=$1 +CLONE=/mnt/$NAME + +if [ ! -d $CLONE ]; then + mkdir $CLONE +fi + +# CLONING +mount /dev/sda1 $CLONE +df +echo "rsyncing root..." +rsync -a --delete --one-file-system --exclude=/etc/fstab --exclude=/etc/hostname --exclude=/etc/hosts $MASTER:$MASTERPATH/ $CLONE/ + +echo "rsyncing home..." +mount /dev/sda2 $CLONE/home +df +rsync -a --delete --exclude=/home/telecaster/archives/ --exclude=/home/telecaster/trash/ $MASTER:$MASTERPATH/home/ $CLONE/home/ +umount $CLONE/home + +echo "rsyncing var..." +mount /dev/sda5 $CLONE/var +df +rsync -a --delete $MASTER:$MASTERPATH/var/ $CLONE/var/ + +# CHROOT +mount -t proc none $CLONE/proc +mount -o bind /dev $CLONE/dev +mount -o bind /sys $CLONE/sys + +chroot $CLONE grub-install /dev/sda +chroot $CLONE update-grub + +umount $CLONE/sys +umount $CLONE/dev +umount $CLONE/proc + +umount $CLONE/var +umount $CLONE +df + +echo "OK, I'm an updated TC clone!" + diff --git a/tc_clone_update_pxe_s10.sh b/tc_clone_update_pxe_s10.sh new file mode 100755 index 0000000..7e74a15 --- /dev/null +++ b/tc_clone_update_pxe_s10.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -e + +MASTER=192.168.0.64 +CLONE=/mnt/custom + +#mount /dev/sda1 $CLONE +df +echo "rsyncing root..." +rsync -a --delete --one-file-system --exclude=/etc/fstab --exclude=/etc/hostname --exclude=/etc/hosts $MASTER:$CLONE/ $CLONE/ + +echo "rsyncing home..." +mount /dev/sda3 $CLONE/home +df +rsync -a --delete $MASTER:$CLONE/home/ $CLONE/home/ +umount umount sda3 + +echo "rsyncing var..." +#mount /dev/sda5 $CLONE/var +df +rsync -a --delete $MASTER:$CLONE/var/ $CLONE/var/ +#umount /dev/sda5 + +umount /dev/sda1 +df + +echo "OK, I'm an updated TC (s10) clone!" + diff --git a/tc_mount_master.sh b/tc_mount_master.sh new file mode 100755 index 0000000..10385d7 --- /dev/null +++ b/tc_mount_master.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +CLONE=/mnt/custom + +mount /dev/sda1 $CLONE +mount /dev/sda2 $CLONE/home +mount /dev/sda5 $CLONE/var + +df + +echo "OK, I'm the Master of the TC clones!" + diff --git a/tc_umount_master.sh b/tc_umount_master.sh new file mode 100755 index 0000000..a102386 --- /dev/null +++ b/tc_umount_master.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +CLONE=/mnt/custom + +umount $CLONE/var +umount $CLONE/home +umount $CLONE + +df + + -- 2.39.5