#!/bin/bash
+# variables
+remote_host=right-hand
+remote_dir=/mnt/big/backup
+local_mount=/mnt/nfs
+local_backupdir=/mnt/bunker/backup
# initializing some variables
backup_date=`date | awk '{ print $3"."$2"."$6 }'`
host=`hostname`
-
-# set the backup directory
-if [ "$host" = "gate" ] ; then
- #mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
- backup_dir="/mnt/nfs"
-elif [ "$host" = "sparc" ] ; then
- #mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
- backup_dir="/mnt/nfs"
-elif [ "$host" = "mobile" ] ; then
- #mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
- backup_dir="/mnt/nfs"
-elif [ "$host" = "right-hand" ] ; then
- #mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
- backup_dir="/mnt/nfs"
-elif [ "$host" = "hackstation" ] ; then
- backup_dir="/mnt/lfs/backup"
-elif [ "$host" = "hdw" ] ; then
- backup_dir="/mnt/nfs"
+mounted=0
+res=1
+if [ -d $remote_dir ] ; then
+ backup_dir=/mnt/big/backup
+ res=0
else
- echo "pls adept the script for $host ..."
- exit 1
-fi
-
-if [ ! -z "$2" ] ; then
-if [ "$2" = "-backup_dir" -a -d $3 ] ; then
- echo "using $3 as a backup directory ..."
- backup_dir=$3
-fi
+ if [ -d $local_backupdir ] ; then
+ backup_dir=$local_backupdir
+ res=0
+ else
+ mkdir -p $local_mount
+ mount -tnfs ${remote_host}:${remote_dir} $local_mount
+ res=$?
+ backup_dir=$local_mount
+ mounted=1
+ fi
fi
-# set kernel version(s) to store their .config
-if [ -d /usr/src/linux ] ; then
- kernel_num=`ls /usr/src/ | grep '^linux-' | sed 's/linux-//g'`
+if [ "$res" != "0" ] ; then
+ echo "something failed detrmining the backup dir $backup_dir ..."
+ exit
fi
-
# which method to use?
if [ "$1" = "tar" ] ; then
method="tar"
exit 0
fi
+if [ ! -z "$2" ] ; then
+ if [ "$2" = "-backup_dir" -a -d $3 ] ; then
+ echo "using $3 as a backup directory ..."
+ backup_dir=$3
+ fi
+fi
+
+# set kernel version(s) to store their .config
+if [ -d /usr/src/linux ] ; then
+ kernel_num=`ls /usr/src/ | grep '^linux-' | sed 's/linux-//g'`
+fi
# creating backup
if [ -d ${backup_dir}/${host}-backup-${backup_date} ] ; then
echo "u already did a backup today! remove it manually first!"
+ [ ! "$host" = "hackstation" ] && umount /mnt/nfs
exit 0
fi
mkdir ./${host}-conf && cd ./${host}-conf
for i in $kernel_num; do
- if [ -f /usr/src/linux-${i}*/.config ] ; then
+ if [ -f /usr/src/linux-${i}/.config ] ; then
echo "copying /usr/src/linux/.config"
- cp /usr/src/linux-${i}*/.config ./$host-kernel-${i}-config
+ cp /usr/src/linux-${i}/.config ./$host-kernel-${i}-config
fi
done
mkdir ./etc
-for i in conf opt ppp cups; do
+for i in init.d conf opt ppp cups udev cron.d; do
if [ -d /etc/$i ] ; then
echo "copying /etc/$i"
cp -r /etc/$i ./etc
fi
done
-mkdir ./etc/init.d
-for i in `ls -A /etc/conf`; do
- if [ -f /etc/init.d/$i ] ; then
- echo "copying /etc/init.d/$i"
- cp /etc/init.d/$i ./etc/init.d
- fi
-done
-
for i in dhcpd.conf fstab hosts host.conf hosts.allow hosts.deny lilo.conf \
profile sendmail.cf resolv.conf exports fb.modes inetd.conf \
- xinetd.conf; do
+ xinetd.conf mp3user mp3db.conf modules.conf named.conf \
+ modprobe.devfs modprobe.conf devfsd.conf crontab ethers; do
if [ -f /etc/$i ] ; then
echo "copying /etc/$i"
cp /etc/$i ./etc
echo "copying /etc/X11/XF86Config*"
cp /etc/X11/XF86Config* ./etc/X11
fi
+if [ -f /etc/X11/xorg.conf ] ; then
+ mkdir -p ./etc/X11
+ echo "copying /etc/X11/xorg.conf*"
+ cp /etc/X11/xorg.conf* ./etc/X11
+fi
+
+# crontabs
+if [ -d /var/spool/cron/crontabs ] ; then
+ echo "copying crontab files"
+ cp -r /var/spool/cron/crontabs .
+fi
# specific config stuff
cp -r /etc/mail ./etc
fi
+ # mlsit procmail
+ if [ -d /home/mlist ] ; then
+ echo "copying mlist procmail config"
+ cp -r /home/mlist mlsit_pm_config
+ fi
+
# irc stuff
- mkdir -p ./irc/networks
- [ -f /opt/unreal/etc/unrealircd.conf ] && \
- cp /opt/unreal/etc/unrealircd.conf ./irc/unrealircd_new.conf
- for i in ircd.conf networks/hackdaworld.network \
- networks/unrealircd.conf; do
- [ -f /home/irc/Unreal3.1.1/$i ] && \
- cp /home/irc/Unreal3.1.1/$i ./irc/$i
- done
- [ -f /home/irc/services_new/services.conf ] && \
- cp /home/irc/services_new/services.conf ./irc
- for i in rebecka defcon_one elin; do
- [ -f /home/irc/eggdrop/$i ] && cp /home/irc/eggdrop/$i* ./irc
- done
+ mkdir -p ./ircd
+ [ -f /etc/opt/unrealircd/unrealircd.conf ] && \
+ cp /etc/opt/unrealircd/unrealircd.conf ./ircd
+
+ # minimalist stuff
+ mkdir -p ./minimalist
+ [ -f /etc/opt/minimalist/minimalist.conf ] && \
+ cp /etc/opt/minimalist/minimalist.conf ./minimalist
+fi
+# right-hand specific config stuff
+if [ "$host" = "right-hand" ] ; then
+ if [ -d /var/named ] ; then
+ mkdir ./named
+ echo "copying dns data"
+ cp -r /var/named/* ./named
+ fi
+ if [ -f /etc/opt/apache*/httpd.conf ] ; then
+ mkdir ./apache
+ cp /etc/opt/apache*/httpd.conf ./apache
+ fi
fi
+
# data stuff
echo "data stuff:"
# gate specific data
if [ "$host" = "gate" ] ; then
- # minimalist and mail stuff
- mkdir -p minimalist_spool mail_admin mail_hackbard mail_mlist
- echo "copying minimalist and mail stuff"
- cp -r /opt/minimalist/spool/* ./minimalist_spool
- cp -r /home/hackbard/* ./mail_hackbard
- cp -r /home/admin/* ./mail_admin
- cp /var/mail/mlist ./mail_mlist
-
- # www and cvs stuff
- mkdir chroot
- for i in www cvs; do
- echo "copying /chroot/$i"
- tar -cf ./chroot/$i.tar /chroot/$i
+ # mail stuff
+ for i in `ls -A /var/mail`; do
+ mkdir -p mail_$i
+ echo "copying mail stuff"
+ cp /var/mail/$i ./mail_$i
done
- tar -cf ./mlist-archive.tar /home/mlist/public_html
+fi
+# right-hand data
+if [ "$host" = "right-hand" ] ; then
+ mkdir ./chroot
+ for i in www cvs; do
+ if [ -d /chroot/$i ] ; then
+ echo "copying /chroot/$i"
+ tar -cf ./chroot/$i.tar /chroot/$i
+ fi
+ done
fi
-# hackstation specific data
-if [ "$host" = "hackstation" -o "$host" = "mobile" -o "$host" = "hdw" -o "$host" = "sparc" ] ; then
+# hackstation / mobile / hdw / sparc specific data
+if [ "$host" = "hackstation" -o "$host" = "mobile" -o "$host" = "hdw" -o "$host" = "sparc" -o "$host" = "compaq" ] ; then
# home of hackbard
mkdir -p ./home/hackbard
- echo "copying home"
- for i in projects software store; do
+ echo -n "copying home ..."
+ for i in temp test; do
+ echo -n " $i,"
[ -d /home/hackbard/$i ] && \
cp -r /home/hackbard/$i ./home/hackbard
done
for i in xinitrc_evil xinitrc_wm .xinitrc GNUstep .Xauthority \
- .Xdefaults .signature .directfbrc; do
- [ -f /home/hackbard/$i ] && \
+ .Xdefaults .XHkeys .signature .directfbrc .bashrc \
+ sp12 .licq .irssi; do
+ echo -n " $i,"
+ [ -e /home/hackbard/$i ] && \
cp -r /home/hackbard/$i ./home/hackbard
done
- cp -r /home/hackbard/.ssh ./home/hackbard
+ [ -d /home/hackbard/.mozilla ] &&
+ cp /home/hackbard/.mozilla/*/*/bookmarks.html \
+ mozilla-bookmarks.html
+ [ -d /home/hackbard/.ssh ] && cp -r /home/hackbard/.ssh ./home/hackbard
+ echo " done."
+
+ # tftpboot
+ if [ -d /tftpboot ] ; then
+ mkdir -p ./tftpboot
+ echo "copying tftpboot stuff"
+ cp -r /tftpboot/* ./tftpboot
+ fi
+
+ # wlan configs
+ for i in hunz_prism hunz_lucent roman_orinoco.sh; do
+ if [ -f /root/${i}.sh ]; then
+ mkdir -p ./root
+ cp /root/${i}.sh ./root
+ fi
+ done
fi
# data stuff (none specific)
-# extensions, stored on root
-if [ -d /root/${host}_exts ] ; then
- echo "copying ${host}_exts"
- cp -r /root/${host}_exts ./
-fi
-
-# dying software
-if [ -d /root/${host}_bunker ] ; then
- echo "copying ${host}_bunker"
- cp -r /root/${host}_bunker ./
-fi
-
# backing up myself
cp -r $HOME/scripts ./
# end! umounting nfs shared backup directory
-if [ "$host" != "hackstation" ] ; then
+if [ "$mounted" = "1" ] ; then
echo "umounting nfs backup - dir"
- #cd $HOME && umount /mnt/nfs
+ cd $HOME && umount $local_mount
fi
echo "done ..."