#! /bin/bash

server="smei"
subnet="$SMEI_SUBNET ips supercat"

etc_files="exports fstab hosts resolv.conf"
home_files=".bashrc"
sysconfig_files="network"
ifcfg_files="ifcfg-eth0 ifcfg-eth1"
cron_file='crontab'
chkconfig_file='chkconfig'

x11_files='xorg.conf'
httpd_files='httpd.conf'
autofs_files='auto.smei'

sysconfig_dir="/etc/sysconfig"
ifcfg_dir="/etc/sysconfig/network-scripts"
x11_dir="/etc/X11"
httpd_dir="/etc/httpd/conf"
autofs_dir='/etc/autofs'

dest="ips:smei/sys/subnet"

echo ... $server

for file in $etc_files; do
	f="/etc/""$file"
	if [ -f "$f" ]; then
		scp "$f" "$dest"/"$file"_"$server"
	fi
done

for file in $sysconfig_files; do
	f="$sysconfig_dir"/"$file"
	if [ -f "$f" ]; then
		scp "$f" "$dest"/"$file"_"$server"
	fi
done

for file in $ifcfg_files; do
	f="$ifcfg_dir"/"$file"
	if [ -f "$f" ]; then
		scp "$f" "$dest"/"$file"_"$server"
	fi
done

for file in $home_files; do
	f="$HOME"/"$file"
	if [ -f "$f" ]; then
		scp "$f" "$dest"/"$file"_"$server"
	fi
done

for file in $x11_files; do
	f="$x11_dir"/"$file"
	if [ -f "$f" ]; then
		scp "$f" "$dest"/"$file"_"$server"
	fi
done

for file in $httpd_files; do
	f="$httpd_dir"/"$file"
	if [ -f "$f" ]; then
		scp "$f" "$dest"/"$file"_"$server"
	fi
done

for file in $autofs_files; do
	f="$autofs_dir"/"$file"
	if [ -f "$f" ]; then
		scp "$f" "$dest"/"$file"_"$server"
	fi
done

file="$cron_file"
f="$TUB"/"$file"
crontab -l > "$f"
if [ -f "$f" ]; then
	scp "$f" "$dest"/"$file"_"$server"
	rm -f "$f"
fi

file="$chkconfig_file"
f="$TUB"/"$file"
/sbin/chkconfig --list > "$f"
if [ -f "$f" ]; then
	scp "$f" "$dest"/"$file"_"$server"
	rm -f "$f"
fi

# Loop over all members of subnet

for sub in $subnet; do

	if [ "$sub" != "$server" ]; then

		echo ... $sub

		for file in $etc_files; do
			f="$file"_"$sub"
			scp "$sub":/etc/"$file" "$TUB"/"$f"
			if [ -f "$TUB"/"$f" ]; then
				scp "$TUB"/"$f" "$dest"/"$f"
				rm "$TUB"/"$f"
			fi
		done

		for file in $sysconfig_files; do
			f="$file"_"$sub"
			scp "$sub":"$sysconfig_dir"/"$file" "$TUB"/"$f"
			if [ -f "$TUB"/"$f" ]; then
				scp "$TUB"/"$f" "$dest"/"$f"
				rm "$TUB"/"$f"
			fi
		done

		for file in $ifcfg_files; do
			f="$file"_"$sub"
			scp "$sub":"$ifcfg_dir"/"$file" "$TUB"/"$f"
			if [ -f "$TUB"/"$f" ]; then
				scp "$TUB"/"$f" "$dest"/"$f"
				rm "$TUB"/"$f"
			fi
		done

		for file in $home_files; do
			f="$file"_"$sub"
			scp "$sub":"$file" "$TUB"/"$f"
			if [ -f "$TUB"/"$f" ]; then
				scp "$TUB"/"$f" "$dest"/"$f"
				rm "$TUB"/"$f"
			fi
		done

		for file in $x11_files; do
			f="$file"_"$sub"
			scp "$sub":"$x11_dir"/"$file" "$TUB"/"$f"
			if [ -f "$TUB"/"$f" ]; then
				scp "$TUB"/"$f" "$dest"/"$f"
				rm "$TUB"/"$f"
			fi
		done

		for file in $httpd_files; do
			f="$file"_"$sub"
			scp "$sub":"$httpd_dir"/"$file" "$TUB"/"$f"
			if [ -f "$TUB"/"$f" ]; then
				scp "$TUB"/"$f" "$dest"/"$f"
				rm "$TUB"/"$f"
			fi
		done

		for file in $autofs_files; do
			f="$file"_"$sub"
			scp "$sub":"$autofs_dir"/"$file" "$TUB"/"$f"
			if [ -f "$TUB"/"$f" ]; then
				scp "$TUB"/"$f" "$dest"/"$f"
				rm "$TUB"/"$f"
			fi
		done

		file="$cron_file"
		f="$file"_"$sub"
		ssh $sub "crontab -l" > "$TUB"/"$f"
		if [ -f "$TUB"/"$f" ]; then
			scp "$TUB"/"$f" "$dest"/"$f"
			rm -f "$TUB"/"$f"
		fi

		file="$chkconfig_file"
		f="$file"_"$sub"
		ssh $sub "/sbin/chkconfig --list" > "$TUB"/"$f"
		if [ -f "$TUB"/"$f" ]; then
			scp "$TUB"/"$f" "$dest"/"$f"
			rm -f "$TUB"/"$f"
		fi

	fi

done

exit 0
