X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=backup.sh;h=ebf8c16a46aba415d5a5f764a145a3b8d42fcccd;hb=026d55d4612eea2a125797446e6e478ab592f3d1;hp=fe6426f416a50a88919089694e20f38459ed83b0;hpb=07c133fec78ce26e0bbfdeb20f9a7cc8a7667b4a;p=scripts%2Fscripts.git diff --git a/backup.sh b/backup.sh index fe6426f..ebf8c16 100755 --- a/backup.sh +++ b/backup.sh @@ -5,33 +5,44 @@ backup_date=`date | awk '{ print $3"."$2"."$6 }'` host=`hostname` +[ ! -d /mnt/nfs ] && mkdir -p /mnt/nfs # set the backup directory if [ "$host" = "gate" ] ; then - #mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs + mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs backup_dir="/mnt/nfs" elif [ "$host" = "sparc" ] ; then - #mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs + mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs backup_dir="/mnt/nfs" elif [ "$host" = "mobile" ] ; then - #mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs + 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 + 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 + mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs + backup_dir="/mnt/nfs" +elif [ "$host" = "compaq" ] ; then + mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs backup_dir="/mnt/nfs" 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 +fi # set kernel version(s) to store their .config if [ -d /usr/src/linux ] ; then - kernel_num=`ls /usr/src/ | grep 'linux-' | awk -F- '{ print $2 }'` + kernel_num=`ls /usr/src/ | grep '^linux-' | sed 's/linux-//g'` fi @@ -44,18 +55,19 @@ elif [ -z "$1" ] ; then method="tar" else echo "aborting!" - echo "usage: $0 [tar|dir]" + echo "usage: $0 [tar|dir] (-backup_dir /foo/bar)" echo - echo "tar\t: creates an archive called backup_${backup_date}.tar.bz2" - echo "dir\t: creates just the directory backup_${backup_date}" - exit 1 + echo "tar: creates an archive called backup_${backup_date}.tar.bz2" + echo "dir: creates just the directory backup_${backup_date}" + exit 0 fi # creating backup if [ -d ${backup_dir}/${host}-backup-${backup_date} ] ; then echo "u already did a backup today! remove it manually first!" - exit 1 + [ ! "$host" = "hackstation" ] && umount /mnt/nfs + exit 0 fi mkdir $backup_dir/${host}-backup-${backup_date} && cd ${backup_dir}/${host}-backup-${backup_date} @@ -66,30 +78,23 @@ echo "config stuff:" 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; do +for i in init.d conf opt ppp cups; 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; do + profile sendmail.cf resolv.conf exports fb.modes inetd.conf \ + xinetd.conf mp3user mp3db.conf modules.conf named.conf; do if [ -f /etc/$i ] ; then echo "copying /etc/$i" cp /etc/$i ./etc @@ -115,20 +120,9 @@ if [ "$host" = "gate" ] ; then 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 fi # data stuff @@ -140,55 +134,72 @@ cd ${backup_dir}/${host}-backup-${backup_date} # gate specific data if [ "$host" = "gate" ] ; then - # minimalist and mail stuff - mkdir -p minimalist_spool mail_admin mail_hackbard - 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 - - # 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 +fi +# right-hand data +if [ "$host" = "right-hand" ] ; then + mkdir ./chroot + for i in www cvs hdw; do + if [ -d /chroot/$i ] ; then + echo "copying /chroot/$i" + tar -cf ./chroot/$i.tar /chroot/$i + fi + done + + mkdir ./named + if [ -d /var/named ] ; then + echo "copying dns data" + cp -r /var/named/* ./named + fi fi -# hackstation specific data -if [ "$host" = "hackstation" -o "$host" = "mobile" -o "$host" = "hdw" ] ; 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 + for i in software store; do [ -d /home/hackbard/$i ] && \ cp -r /home/hackbard/$i ./home/hackbard done + if [ "$host" = "hackstation" ]; then + [ -d /home/hackbard/projects ] && \ + cp -r /home/hackbard/projects ./home/hackbard + fi for i in xinitrc_evil xinitrc_wm .xinitrc GNUstep .Xauthority \ - .Xdefaults .signature; do + .Xdefaults .signature .directfbrc .bashrc; do [ -f /home/hackbard/$i ] && \ cp -r /home/hackbard/$i ./home/hackbard done + [ -d /home/hackbard/.ssh ] && cp -r /home/hackbard/.ssh ./home/hackbard + + # tftpboot + if [ -d /tftpboot ] ; then + mkdir -p ./tftpboot + echo "copyinf tftpboot stuff" + cp -r /tftpboot/* ./tftpboot + fi + + # hunz config + for i in prism lucent; do + if [ -f /root/hunz_${i}.sh ]; then + mkdir -p ./root + cp /root/hunz_${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 ./ @@ -209,7 +220,7 @@ fi # end! umounting nfs shared backup directory if [ "$host" != "hackstation" ] ; then echo "umounting nfs backup - dir" - #cd $HOME && umount /mnt/nfs + cd $HOME && umount /mnt/nfs fi echo "done ..."