4 # initializing some variables
5 backup_date=`date | awk '{ print $3"."$2"."$6 }'`
8 [ ! -d /mnt/nfs ] && mkdir -p /mnt/nfs
10 # set the backup directory
11 if [ "$host" = "gate" ] ; then
12 mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
14 elif [ "$host" = "sparc" ] ; then
15 mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
17 elif [ "$host" = "mobile" ] ; then
18 mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
20 elif [ "$host" = "right-hand" ] ; then
21 mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
23 elif [ "$host" = "hackstation" ] ; then
24 backup_dir="/mnt/lfs/backup"
25 elif [ "$host" = "hdw" ] ; then
26 mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
28 elif [ "$host" = "compaq" ] ; then
29 mount -tnfs hackstation:/mnt/lfs/backup /mnt/nfs
32 echo "pls adept the script for $host ..."
36 if [ ! -z "$2" ] ; then
37 if [ "$2" = "-backup_dir" -a -d $3 ] ; then
38 echo "using $3 as a backup directory ..."
43 # set kernel version(s) to store their .config
44 if [ -d /usr/src/linux ] ; then
45 kernel_num=`ls /usr/src/ | grep '^linux-' | sed 's/linux-//g'`
49 # which method to use?
50 if [ "$1" = "tar" ] ; then
52 elif [ "$1" = "dir" ] ; then
54 elif [ -z "$1" ] ; then
58 echo "usage: $0 [tar|dir] (-backup_dir /foo/bar)"
60 echo "tar: creates an archive called backup_${backup_date}.tar.bz2"
61 echo "dir: creates just the directory backup_${backup_date}"
67 if [ -d ${backup_dir}/${host}-backup-${backup_date} ] ; then
68 echo "u already did a backup today! remove it manually first!"
69 [ ! "$host" = "hackstation" ] && umount /mnt/nfs
73 mkdir $backup_dir/${host}-backup-${backup_date} && cd ${backup_dir}/${host}-backup-${backup_date}
78 mkdir ./${host}-conf && cd ./${host}-conf
80 for i in $kernel_num; do
81 if [ -f /usr/src/linux-${i}/.config ] ; then
82 echo "copying /usr/src/linux/.config"
83 cp /usr/src/linux-${i}/.config ./$host-kernel-${i}-config
88 for i in init.d conf opt ppp cups udev cron.d; do
89 if [ -d /etc/$i ] ; then
90 echo "copying /etc/$i"
95 for i in dhcpd.conf fstab hosts host.conf hosts.allow hosts.deny lilo.conf \
96 profile sendmail.cf resolv.conf exports fb.modes inetd.conf \
97 xinetd.conf mp3user mp3db.conf modules.conf named.conf \
98 modprobe.devfs modprobe.conf devfsd.conf crontab; do
99 if [ -f /etc/$i ] ; then
100 echo "copying /etc/$i"
105 if [ -f /etc/X11/XF86Config ] ; then
107 echo "copying /etc/X11/XF86Config*"
108 cp /etc/X11/XF86Config* ./etc/X11
110 if [ -f /etc/X11/xorg.conf ] ; then
112 echo "copying /etc/X11/xorg.conf*"
113 cp /etc/X11/xorg.conf* ./etc/X11
117 # specific config stuff
119 # gate specific config stuff!
120 if [ "$host" = "gate" ] ; then
123 if [ -d /etc/mail ] ; then
124 echo "copying /etc/mail directory"
125 cp -r /etc/mail ./etc
129 if [ -d /home/mlist ] ; then
130 echo "copying mlist procmail config"
131 cp -r /home/mlist mlsit_pm_config
136 [ -f /etc/opt/unrealircd/unrealircd.conf ] && \
137 cp /etc/opt/unrealircd/unrealircd.conf ./ircd
140 mkdir -p ./minimalist
141 [ -f /etc/opt/minimalist/minimalist.conf ] && \
142 cp /etc/opt/minimalist/minimalist.conf ./minimalist
145 # right-hand specific config stuff
146 if [ "$host" = "right-hand" ] ; then
147 if [ -d /var/named ] ; then
149 echo "copying dns data"
150 cp -r /var/named/* ./named
152 if [ -f /etc/opt/apache*/httpd.conf ] ; then
154 cp /etc/opt/apache*/httpd.conf ./apache
162 # data backup (specific)
163 cd ${backup_dir}/${host}-backup-${backup_date}
166 if [ "$host" = "gate" ] ; then
169 for i in `ls -A /var/mail`; do
171 echo "copying mail stuff"
172 cp /var/mail/$i ./mail_$i
177 if [ "$host" = "right-hand" ] ; then
179 for i in www cvs hdw; do
180 if [ -d /chroot/$i ] ; then
181 echo "copying /chroot/$i"
182 tar -cf ./chroot/$i.tar /chroot/$i
187 # hackstation / mobile / hdw / sparc specific data
188 if [ "$host" = "hackstation" -o "$host" = "mobile" -o "$host" = "hdw" -o "$host" = "sparc" -o "$host" = "compaq" ] ; then
191 mkdir -p ./home/hackbard
192 echo -n "copying home ..."
193 for i in temp test; do
195 [ -d /home/hackbard/$i ] && \
196 cp -r /home/hackbard/$i ./home/hackbard
198 for i in xinitrc_evil xinitrc_wm .xinitrc GNUstep .Xauthority \
199 .Xdefaults .XHkeys .signature .directfbrc .bashrc \
200 sp12 .licq .irssi; do
202 [ -e /home/hackbard/$i ] && \
203 cp -r /home/hackbard/$i ./home/hackbard
205 [ -d /home/hackbard/.mozilla ] &&
206 cp /home/hackbard/.mozilla/*/*/bookmarks.html \
207 mozilla-bookmarks.html
208 [ -d /home/hackbard/.ssh ] && cp -r /home/hackbard/.ssh ./home/hackbard
212 if [ -d /tftpboot ] ; then
214 echo "copying tftpboot stuff"
215 cp -r /tftpboot/* ./tftpboot
219 for i in hunz_prism hunz_lucent roman_orinoco.sh; do
220 if [ -f /root/${i}.sh ]; then
222 cp /root/${i}.sh ./root
229 # data stuff (none specific)
232 cp -r $HOME/scripts ./
235 # finished copying stuff, entering last backup procedure now :)))
239 if [ "$method" = "tar" ] ; then
241 tar cf ./${host}-backup-${backup_date}.tar \
242 ./${host}-backup-${backup_date}
243 rm -r ./${host}-backup-${backup_date}
244 bzip2 ./${host}-backup-${backup_date}.tar
248 # end! umounting nfs shared backup directory
249 if [ "$host" != "hackstation" ] ; then
250 echo "umounting nfs backup - dir"
251 cd $HOME && umount /mnt/nfs