X-Git-Url: https://www.hackdaworld.org/gitweb/?p=scripts%2Fscripts.git;a=blobdiff_plain;f=backup.sh;h=07a71c0d66787b2c027e48c97e97bc65264a7a73;hp=e477347e37db533b3a9f139ab79b2ba9a05875a5;hb=HEAD;hpb=3740cd5c868ce60e099814c7295f00309f8c3ae5 diff --git a/backup.sh b/backup.sh index e477347..07a71c0 100755 --- a/backup.sh +++ b/backup.sh @@ -1,46 +1,38 @@ #!/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" @@ -57,10 +49,22 @@ else 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 @@ -72,31 +76,24 @@ 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 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 mp3user mp3db.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 @@ -108,6 +105,17 @@ if [ -f /etc/X11/XF86Config ] ; then 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 @@ -121,23 +129,37 @@ if [ "$host" = "gate" ] ; then 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:" @@ -147,58 +169,69 @@ 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 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 ./ @@ -217,9 +250,9 @@ fi # 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 ..."