]> git.parisson.com Git - telecaster-cloning.git/commitdiff
add first working PXE cloning scripts
authorroot <root@wm22.parisson.org>
Tue, 26 Jun 2012 19:39:13 +0000 (21:39 +0200)
committerroot <root@wm22.parisson.org>
Tue, 26 Jun 2012 19:39:13 +0000 (21:39 +0200)
tc_clone.sh [new file with mode: 0755]
tc_clone_update_pxe.sh [new file with mode: 0755]
tc_clone_update_pxe_s10.sh [new file with mode: 0755]
tc_mount_master.sh [new file with mode: 0755]
tc_umount_master.sh [new file with mode: 0755]

diff --git a/tc_clone.sh b/tc_clone.sh
new file mode 100755 (executable)
index 0000000..d209352
--- /dev/null
@@ -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 (executable)
index 0000000..b1494bf
--- /dev/null
@@ -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 (executable)
index 0000000..7e74a15
--- /dev/null
@@ -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 (executable)
index 0000000..10385d7
--- /dev/null
@@ -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 (executable)
index 0000000..a102386
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -e
+
+CLONE=/mnt/custom
+
+umount $CLONE/var
+umount $CLONE/home
+umount $CLONE
+
+df
+
+