#!/bin/bash
#
# Changes before copying server/VM
#
[[ ! ("$#" == 1 && -n "$1") ]] && echo "Only 1 argument required, $# provided" && exit 1;
[[ ! $1 =~ ^[0-9]+$ ]] && echo "Container ID has to be numeric, '$1' provided. Please provide a numeric argument and try again" && exit 1;
if [ `whoami` = root ]
then
if [ ! -d /vz/root/$1 ]
then
echo Creating container folders /vz/root/$1 and /vz/private/$1
mkdir -p /vz/root/$1 /vz/private/$1
cat /etc/vz/conf/ve-basic.conf-sample > /etc/vz/conf/$1.conf
echo 'OSTEMPLATE="centos"' >> /etc/vz/conf/$1.conf
else
echo "Container ID $1 already exists"
fi
else
echo 'Need to be "root" to execute this script'
fi
####################################
# Copying content of server/VM
#
# Source:
# # for i in `chkconfig --list | grep :on | gawk '!/network|iscsi|vmware|syslog|sshd|irqbalance|iptables/ {print $1}'`; do service $i stop; done
# # echo -e '/dev/*\n/mnt/*\n/tmp/*\n/proc/*\n/sys/*\n/usr/lib/vmware-server-console/*\n/etc/vmware-server-console/*\n/etc/vmware-tools/*\n/usr/lib/vmware-tools/*\n/selinux/*\n/var/tmp/*\n/var/named/chroot/proc/*\n/var/named/chroot/dev/*' > /tmp/excludes.txt
# # for i in acpid amd checkfs cups checkroot clock consolefont hdparm klogd keymaps kudzu lm_sensors microcode_ctl netplugd restorecond; do chkconfig $i off; done
#
# Using Netcat + tar:
# Source: $ tar --numeric-owner -cpf - / -X /tmp/excludes.txt | nc sourceIP 4500
# Destination: $ nc -l 4500 > VM.tar && tar -xpf VM.tar -C VM
# OR
# $ nc -l 4500 | tar -xpf - -C /vz/private/102/
#
# Using Rsync + SSH:
# Destination: $ rsync --numeric-ids -av --exclude-from=/tmp/excludes.txt root@source:/ .
#
####################################